Skip to content

feat(agent): observe evolved skill lifecycle outcomes - #150

Merged
Pepps233 merged 3 commits into
feat/activate-evolved-skillsfrom
feat/evolved-skill-lifecycle-observations
Aug 31, 2026
Merged

Pepps233 merged 3 commits into
feat/activate-evolved-skillsfrom
feat/evolved-skill-lifecycle-observations

Conversation

@Pepps233

@Pepps233 Pepps233 commented Aug 28, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Add append-only lifecycle observations and deterministic, exact-version reports for evolved skills so later helpful, harmful, neutral, and unknown outcomes can initiate a fresh candidate cycle without modifying active or historical harness revisions.

Reasoning

Skill content must remain immutable after activation, while later task outcomes still need to inform refinement and retirement. Lifecycle state therefore belongs in separate evolution storage and must retain the exact skill version, workspace, harness attribution, and top-level task lineage that produced each observation.

Outcome strength also cannot be inferred from availability or co-occurrence. The observer keeps invocation facts distinct, gives direct-user and deterministic outcomes more weight than self-assessment or inference, and emits only a mandatory Skill Curator handoff. Existing validation, retrieval evaluation, behavioral evaluation, and writer gates remain required before any content change or retirement.

Changes

  • Add versioned skill lifecycle observation, summary, recommendation, and report contracts.
  • Record exact skill ID, version, content digest, source kind, workspace, harness revision, invocation facts, and top-level task lineage.
  • Persist observations append-only under evolution state with idempotent retries and one final outcome per skill version and task lineage.
  • Reject causal conclusions from co-occurrence and weight direct-user and deterministic outcomes above model self-assessment or inference.
  • Recommend trigger narrowing, procedure revision, duplicate merging, harmful-skill deactivation, or obsolete-skill retirement only for exact active evolved versions.
  • Require every recommendation to return through a new Skill Curator candidate and the existing validation and evaluation gates.
  • Preserve outcomes when the same immutable skill version reappears in a later harness revision while retaining the original harness attribution.

Stack

Position: 10 of 12
Base: #149
Next: #151

  1. feat(coding-agent): activate versioned evolved skills #134
  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 (this PR)
  11. feat(agent): define evolved skill memory handling #151
  12. feat(coding-agent): add evolved skill operator controls #152

Testing

  • cd packages/evolution && node ../../node_modules/vitest/dist/cli.js --run test/counter.test.ts test/skill-lifecycle.test.ts test/filesystem-store.test.ts
  • npm run check (blocked by the pre-existing model-catalog TypeScript failures also reported on feat(agent): evaluate evolved skill candidates #148; no packages/evolution errors)

This pull request is AI-generated by Diffex.

@Pepps233
Pepps233 force-pushed the feat/evolved-skill-lifecycle-observations branch from b3c3d58 to 3af7ecc Compare August 30, 2026 21:32
@Pepps233
Pepps233 merged commit aa04a55 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