Skip to content

feat(framework): remove BOOTSTRAP_PREAMBLE and --bootstrap (#457)#552

Merged
suleimansh merged 1 commit into
mainfrom
feat/remove-bootstrap-preamble-457
Jul 15, 2026
Merged

feat(framework): remove BOOTSTRAP_PREAMBLE and --bootstrap (#457)#552
suleimansh merged 1 commit into
mainfrom
feat/remove-bootstrap-preamble-457

Conversation

@suleimansh

Copy link
Copy Markdown
Member

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:

run system prompt model files written stopped for a plan
A #326 + preamble (4,385) sonnet-5 0 yes
B1 #326 alone (3,874) sonnet-5 0 yes
B2 #326 alone sonnet-5 0 yes
B3 #326 alone default 0 yes

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 the bootstrap option on systemPromptBlock / composeRunSystem
  • --bootstrap, CliOptions.bootstrap, the daemon flag mapping, StartRunOptions.bootstrap, and the runFramework / runPrompt options. The preamble was the flag's entire effect, so nothing is left for it to do.
  • Its changeset. --bootstrap never 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

systemPromptBlock is now the Context: line, your #326 prompt, and the user's SYSTEM.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

  • framework 522 tests (521 pass / 0 fail / 1 skipped, the pre-existing Docker-unreachable case)
  • workspace typecheck 21/21, build clean
  • composeRunSystem() is byte-for-byte unchanged for a normal run; the BOOTSTRAP_PREAMBLE export is gone

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.
@suleimansh suleimansh added the enhancement New feature or request label Jul 15, 2026
@suleimansh suleimansh self-assigned this Jul 15, 2026
@suleimansh suleimansh merged commit 8816278 into main Jul 15, 2026
2 checks passed
@suleimansh suleimansh deleted the feat/remove-bootstrap-preamble-457 branch July 15, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[The Framework] Remove BOOTSTRAP_PREAMBLE from the system prompt

1 participant