feat(framework): bootstrap via a wrapped user prompt, not a system-prompt preamble#458
Draft
suleimansh wants to merge 1 commit into
Draft
feat(framework): bootstrap via a wrapped user prompt, not a system-prompt preamble#458suleimansh wants to merge 1 commit into
suleimansh wants to merge 1 commit into
Conversation
… system-prompt preamble Closes #457. Part of #297. Rom's steer on #297: treat Claude Code as a black box and wrap the user prompt rather than injecting via --append-system-prompt. New wrapBootstrapPrompt() rewords a brand-new-project intent into instructions (analyze, showMarkdown the analysis + plan, await approval, no code first), with the original request preserved at the end. The direct-prompt path wraps its first user prompt; the build path prepends the lighter BOOTSTRAP_ARCHITECT_NOTE to the architect turn, whose plan-approval gate already awaits. Removes the BOOTSTRAP_PREAMBLE system-prompt export and the bootstrap option on systemPromptBlock. CLI --bootstrap and daemon mapping unchanged.
Member
Author
|
Holding this as draft. Rom is redesigning the anti-laziness into a single always-injected 'analyze' prompt (ANALYZE_PROMPT.md, #457 comment), which subsumes bootstrap-as-a-mode. Keeping this open as the wrap-the-user-prompt reference; will fold into the unified prompt rather than merge as-is. |
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. Part of #297.
Rom's steer on #297: treat Claude Code as a black box and wrap the user prompt rather than inject via
--append-system-prompt/--system-prompt. Instructions carried in the prompt itself outweigh "contextual" system-prompt text the agent is tempted to skip. #448 shipped bootstrap as a forceful system-prompt preamble; this reworks it to the wrap-the-prompt approach.What
wrapBootstrapPrompt(userPrompt): rewords a brand-new-project intent into instructions (analyze the request,showMarkdown()the analysis + plan, await approval, no code before approval). Original request rides at the end unchanged.runPrompt): wraps its first user prompt when bootstrap is on.runFramework): prepends the lighterBOOTSTRAP_ARCHITECT_NOTEto the architect turn only; its plan-approval gate already awaits the plan, and the note is JSON-shape compatible so it does not fight the architect's answer contract. Build/scaffold turns keep the raw intent.BOOTSTRAP_PREAMBLEexport and thebootstrapoption onsystemPromptBlock(bootstrap left the system channel entirely).--bootstrapflag + daemon flag mapping unchanged.Verify
wrapBootstrapPromptshape,runPromptwraps the user prompt (system channel unchanged),runFrameworknote scoped to the architect turn only.--bootstrap --fakeprompt run printsbootstrap: on, exit 0.claude -pinvocation (bootstrap framing now rides the user prompt, not the append-system-prompt). The real-LLM behavioral confirmation (stops for a plan, writes nothing) is a one-command run in a logged-in shell; the plumbing is covered by the unit tests above.