Repository navigation
feat(agent): add structured delta curator - #102
Merged
Pepps233 merged 2 commits intoAug 23, 2026
Merged
Conversation
- Preserves lesson provenance and execution scope across proposal aggregation - Limits executable memory changes to atomic add, remove, and replace deltas
- Converts verified lessons into evidence-closed atomic deltas - Suppresses known overlaps and keeps unsupported targets non-executable
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements a target-neutral Curator over the final verified lessons emitted by the recursive Reflector in #101 without enabling later deterministic validation, scoring, persistence, Writer, activation, or Counter behavior.
The Curator now evaluates provenance-rich lessons against frozen evolution-memory and instruction snapshots, requests strict tool-free decisions, suppresses duplicate and conflicting overlaps, and emits evidence-closed ADD, REMOVE, and atomic REPLACE proposals or non-executable deferred findings for unsupported targets.
Reasoning
Curating exact deltas instead of regenerating the full evolution memory preserves unrelated content and keeps every proposed change independently reviewable, validatable, and reversible.
Deriving proposal IDs, base versions, content digests, evidence closure, trace references, and execution scope from frozen inputs prevents the model from inventing immutable provenance or integrity fields.
Classifying each decision as novel, strengthening, duplicate, or conflicting allows the Curator to suppress known redundancy and instruction conflicts before proposals reach later deterministic stages.
Requiring concrete precision, enforcement, condition, or boundary changes for strengthening decisions ensures that cited existing guidance is materially improved instead of merely restated.
A strict response schema, exact-key parsing, no tool access, and bounded retries keep Curator execution isolated and fail closed when the model returns malformed or unsupported output.
Deferring skill and orchestration-source findings without executable deltas preserves useful lessons while avoiding writer routes that are intentionally outside this change.
Changes
StructuredDeltaCuratorwith a strict structured-output schema, exact-key response parsing, stable idempotency, and bounded invalid-response retries.Testing
npm run checknode ../../node_modules/vitest/dist/cli.js --run test/curator.test.ts test/control-plane.test.tsfrompackages/evolution./test.shpassed all affected evolution tests; one unrelated coding-agent FIFO-order assertion failed once.node ../../node_modules/vitest/dist/cli.js --run test/suite/subagent-startup.test.tsfrompackages/coding-agentpassed on isolated rerun.