fix(office-hours): tighten Phase 4 alternatives gate to match plan-ceo-review STOP pattern

Phase 4 (Alternatives Generation) was ending with soft prose "Present via
AskUserQuestion. Do NOT proceed without user approval of the approach." Agents
in builder mode were reading "Recommendation: C" they had just written and
proceeding to edit the design doc — never calling AskUserQuestion. The
contradicting "do not proceed" line lacked a hard STOP token, named blocked
next-steps, or an anti-rationalization line, so the model rationalized past it.

Port the plan-ceo-review 0C-bis pattern: hard "STOP." token, names the steps
that are blocked (Phase 4.5 / 5 / 6 / design-doc generation), explicitly
rejects the "clearly winning approach so I can apply it" reasoning. Preserve
the preamble's no-AUQ-variant fallback by naming "## Decisions to confirm"
+ ExitPlanMode as the explicit alternative path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-05-01 14:17:47 -07:00
parent 6e1625c0d7
commit 88491eb492
2 changed files with 8 additions and 4 deletions
+4 -2
View File
@@ -1248,9 +1248,11 @@ Rules:
- One can be **creative/lateral** (unexpected approach, different framing of the problem).
- If the second opinion (Codex or Claude subagent) proposed a prototype in Phase 3.5, consider using it as a starting point for the creative/lateral approach.
**RECOMMENDATION:** Choose [X] because [one-line reason].
**RECOMMENDATION:** Choose [X] because [one-line reason mapped to the founder's stated goal].
Present via AskUserQuestion. Do NOT proceed without user approval of the approach.
Emit ONE AskUserQuestion that lists every alternative (A/B and optionally C) as numbered options, using the preamble's AskUserQuestion Format section. The AskUserQuestion call is a tool_use, not prose — write the question text and call the tool. If no AUQ variant is callable in this session (per the preamble's "Tool resolution" rules), fall back to writing `## Decisions to confirm` into the plan file and ExitPlanMode. Never silently auto-decide.
**STOP.** Do NOT proceed to Phase 4.5 (Founder Signal Synthesis), Phase 5 (Design Doc), Phase 6 (Closing), or any design-doc generation until the user responds. A "clearly winning approach" is still an approach decision and still needs explicit user approval before it lands in the design doc. Writing the recommendation in chat prose and continuing forward is the failure mode this gate exists to prevent.
---
+4 -2
View File
@@ -411,9 +411,11 @@ Rules:
- One can be **creative/lateral** (unexpected approach, different framing of the problem).
- If the second opinion (Codex or Claude subagent) proposed a prototype in Phase 3.5, consider using it as a starting point for the creative/lateral approach.
**RECOMMENDATION:** Choose [X] because [one-line reason].
**RECOMMENDATION:** Choose [X] because [one-line reason mapped to the founder's stated goal].
Present via AskUserQuestion. Do NOT proceed without user approval of the approach.
Emit ONE AskUserQuestion that lists every alternative (A/B and optionally C) as numbered options, using the preamble's AskUserQuestion Format section. The AskUserQuestion call is a tool_use, not prose — write the question text and call the tool. If no AUQ variant is callable in this session (per the preamble's "Tool resolution" rules), fall back to writing `## Decisions to confirm` into the plan file and ExitPlanMode. Never silently auto-decide.
**STOP.** Do NOT proceed to Phase 4.5 (Founder Signal Synthesis), Phase 5 (Design Doc), Phase 6 (Closing), or any design-doc generation until the user responds. A "clearly winning approach" is still an approach decision and still needs explicit user approval before it lands in the design doc. Writing the recommendation in chat prose and continuing forward is the failure mode this gate exists to prevent.
---