feat(framework): remove BOOTSTRAP_PREAMBLE and --bootstrap (#457)#552
Merged
Conversation
Measured on four live empty-dir runs: the #326 prompt already stops for a plan on its own, writing nothing. The preamble earned nothing and it sat above #326 explicitly outranking it. It was right when added (#448): back then a fresh build charged ahead. The model changed and #326 was rewritten since; the justification expired. The preamble was the flag's only effect, so --bootstrap goes with it. It never shipped, so its changeset is dropped rather than reversed.
This was referenced Jul 16, 2026
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 #457. Evidence and the reasoning are on the issue: #457 (comment)
Your #326 prompt already does this on its own. Four live runs, empty git repo,
--append-system-prompt,bypassPermissions:Every run stopped, wrote nothing, and returned interpretations sorted by plausibility. The preamble changed nothing except that A recommended Next.js where B recommended a generic "full-stack web app" - my 509 chars were nudging the stack, the thing #545 just removed.
It was right when I added it (#448): a fresh empty-dir build really did charge ahead then. The model changed and you rewrote #326 on 13 Jul. The justification expired, the text did not.
What goes
BOOTSTRAP_PREAMBLE(509 chars) and thebootstrapoption onsystemPromptBlock/composeRunSystem--bootstrap,CliOptions.bootstrap, the daemon flag mapping,StartRunOptions.bootstrap, and therunFramework/runPromptoptions. The preamble was the flag's entire effect, so nothing is left for it to do.--bootstrapnever shipped (the changeset was still pending in chore: version packages #285), so this drops an unreleased feature rather than reversing a released one. No removal changeset needed.Nothing replaces it. If a build ever does charge ahead, that is #326's to fix and yours to write.
What this leaves
systemPromptBlockis now theContext:line, your #326 prompt, and the user'sSYSTEM.md, in that order. A new test asserts exactly that, so nothing can quietly sit above your prompt again.The system channel is unchanged at 3,874 chars: your #326 (1,832) + the emit protocols (2,038). The protocols are still mine and still open on #326.
Verify
composeRunSystem()is byte-for-byte unchanged for a normal run; theBOOTSTRAP_PREAMBLEexport is gone