Skip to content

feat(coding-agent): activate versioned evolved skills - #134

Merged
Pepps233 merged 10 commits into
mainfrom
feat/versioned-evolved-skills
Aug 31, 2026
Merged

Pepps233 merged 10 commits into
mainfrom
feat/versioned-evolved-skills

Conversation

@Pepps233

@Pepps233 Pepps233 commented Aug 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Add immutable, workspace-scoped evolved skills to harness revisions and activate each revision's memory and skill catalog together at prompt admission boundaries.

Reasoning

Evolution memory was already revisioned, but evolved skill content could not participate in the same immutable selection contract. Keeping the artifacts separate would allow memory, catalog entries, and selected skill references to drift across revision changes.

This change stores validated skill artifacts in each harness bundle, derives runtime catalog entries only for the active workspace, and refreshes memory and skills as one admitted snapshot. Child sessions remain pinned to the parent snapshot so a global selection change cannot alter work already delegated.

Changes

  • Extend harness revisions with validated skills/<name>/SKILL.md artifacts, workspace identity, content hashes, collision checks, and atomic persistence.
  • Preserve evolved skill artifacts during memory-only revisions and evolution-memory activation.
  • Build workspace-scoped evolved skill catalogs with stable identities, provenance, and harness revision metadata.
  • Merge installed and evolved catalogs, exposing evolved name collisions with an -Evolved suffix and diagnostics.
  • Refresh selected memory and skills together before prompt expansion, reject stale evolved references, and prevent harness switches during prompt admission.
  • Pin child sessions to the parent's admitted harness revision.
  • Refresh footer metadata correctly when evolution completion races with an in-flight status refresh.
  • Add the pinned YAML parser dependency required for strict skill frontmatter validation and refresh reviewed lock artifacts.

User impact

Evolved skills can now be selected and invoked through the existing skill catalog while remaining scoped to the workspace where they were produced. Selecting or activating another harness revision updates its evolution memory and evolved skills together. Existing installed skills keep their names; colliding evolved skills are shown with an -Evolved suffix.

Stack

Position: 1 of 12
Base: main
Next: #136

  1. feat(coding-agent): activate versioned evolved skills #134 (this PR)
  2. feat(agent): preserve target-neutral reflection evidence #136
  3. feat(agent): curate and checkpoint skill candidates #137
  4. feat(agent): persist and process skill candidate registry #138
  5. feat(agent): synthesize outcome-aware skill drafts #139
  6. feat(agent): validate evolved skill drafts #140
  7. feat(agent): measure procedural information loss #147
  8. feat(agent): evaluate evolved skill candidates #148
  9. feat(agent): activate evolved skill candidates #149
  10. feat(agent): observe evolved skill lifecycle outcomes #150
  11. feat(agent): define evolved skill memory handling #151
  12. feat(coding-agent): add evolved skill operator controls #152

Testing

  • npm run check
  • ./test.sh
  • cd packages/harness-state && node ../../node_modules/vitest/dist/cli.js --run test/harness-state.test.ts
  • cd packages/evolution && node ../../node_modules/vitest/dist/cli.js --run test/evolution-memory-writer.test.ts
  • cd packages/coding-agent && node ../../node_modules/vitest/dist/cli.js --run test/evolved-skill-catalog.test.ts test/harness-state-runtime.test.ts test/evolution-footer-status.test.ts
  • cd packages/coding-agent && node ../../node_modules/vitest/dist/cli.js --run test/suite/agent-session-harness-version.test.ts
  • cd packages/coding-agent && node ../../node_modules/vitest/dist/cli.js --run test/suite/subagent-services.test.ts

This pull request is AI-generated by Diffex.

@Pepps233
Pepps233 force-pushed the feat/versioned-evolved-skills branch from 1ae2b02 to 9413a15 Compare August 30, 2026 21:32
@Pepps233
Pepps233 merged commit f8f5629 into main Aug 31, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant