feat(framework): sync the system prompt with the #326 doc (#555)#557
Merged
Conversation
The shipped prompt was the 11-Jul draft. The #326 doc was rewritten on 13-Jul and never synced, so every run since has been driven by a stale prompt. prompts/system_prompt.md is byte-identical to the doc again. Also retarget the eco flags, which the sync breaks silently: they drop sections by exact heading string and the rewrite renames or moves all three, and a missing heading is a no-op.
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.
Closes #555
The shipped system prompt was the 11-Jul draft. The #326 doc was rewritten on 13-Jul and never synced, so every run since has been driven by a stale prompt.
prompts/system_prompt.mdis byte-identical to the OP first ```md block again, verified by comparing the built constant against the block fetched from the API rather than by hand-copying.The prompt diff is the review. What the agent gets that it did not before:
## Analyze the user prompt, and theANLYSIS_RESULT.md+ ADD_ANALYSIS_ENTRY flow.## Before starting changes->### Session name: commit a dirty tree, create and check outthe-framework/<SESSION_NAME>, call setSessionName(). This one never shipped at all. It reached the agent only as an aside inside the signal protocol, so the paraphrase shipped and the doc did not.## After applying changes: call setReadyForMerge() when the session has no work left.## Unclear scope->### Ambiguous prompt,## Large scope->### Scope,## Alternativesmoves under## Before applying changes.## Maintenanceleaves this block. It moves to the post-merge prompt, which is Post-merge prompt: add TODO entries instead of running the presets inline #556.showMarkdownSecondary()emits the sameshow-markdownblock asshowMarkdown(), per the OP note that for the MVP the two can be equivalent.The sync silently breaks the eco flags, so they are fixed here.
ECO_SECTION_HEADINGSdrops sections by exact heading string (## Large scope,## Alternatives,## Maintenance) and the rewrite renames or moves all three.dropSection()no-ops on a missing heading, so--eco-auto-planningand--eco-auto-researchwould have stopped trimming anything with zero test failures: the eco tests assert!system.includes("## Large scope"), which passes for free once that heading is gone. Fixed by retargeting them at### Scope/### Alternatives, makingdropSection()level-aware so dropping a###stops at its sibling instead of swallowing the next##, and asserting the drop actually shortens the prompt. Reverting one heading to its old string now fails 3 tests with "eco.autoPlanning dropped nothing"; before it failed none.--eco-auto-maintenanceis inert after this: its section left the system prompt, so there is nothing here to trim and the tokens are already saved for every run. The flag stays parsed and persisted and re-points at the post-merge prompt in #556.Measured, extracted from the built values rather than inferred:
SYSTEM_PROMPTPROTOCOLS_AWAITcomposeRunSystemEvery preset constant is untouched. 522 pass, 0 fail, typecheck green across all 21 packages.