mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-18 18:32:28 +08:00
Follow-up to v1.6.2.0. Codex (GPT-5.4) under the gpt.md overlay treated "No preamble / Prefer doing over listing" as license to skip the Simplify paragraph and the RECOMMENDATION line on AskUserQuestion calls. Users had to manually re-prompt "ELI10 and don't forget to recommend" almost every time. Two layers: 1. model-overlays/gpt.md — adds an explicit "AskUserQuestion is NOT preamble" carve-out. The "No preamble" rule applies to direct answers; AskUserQuestion content must emit the full format (Re-ground, Simplify/ELI10, Recommend, Options). Tells the model: if you find yourself about to skip any of these, back up and emit them — the user will ask anyway, so do it the first time. 2. scripts/resolvers/preamble/generate-ask-user-format.ts — step 2 renamed to "Simplify (ELI10, ALWAYS)" with explicit "not optional verbosity, not preamble" framing. Step 3 "Recommend (ALWAYS)" hardened: "Never omit, never collapse into the options list." All T2 skills regenerated across all hosts. Golden fixtures refreshed (claude-ship, codex-ship, factory-ship). Updated the ELI10 assertion in test/gen-skill-docs.test.ts to match the new wording. Codex compliance to be verified empirically via test/codex-e2e-plan-format.test.ts. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
33 lines
1.9 KiB
Markdown
33 lines
1.9 KiB
Markdown
**Completion bias.** Do not end your turn with a partial solution when the full
|
|
solution is reachable. If you encounter an error, debug it. If a test fails, fix it.
|
|
If something is ambiguous, make your best judgment and proceed — don't stop and ask
|
|
unless you're genuinely blocked.
|
|
|
|
**Prefer doing over listing.** When you'd be tempted to write "you could also try X,
|
|
Y, or Z," try the best option yourself. Pick, execute, report results.
|
|
|
|
**No preamble.** Skip "Great question!", "Let me help with that", and restating the
|
|
user's request. Start with the work.
|
|
|
|
**AskUserQuestion is NOT preamble.** The "No preamble" and "Prefer doing over listing"
|
|
rules above do NOT apply to AskUserQuestion content. When you invoke AskUserQuestion,
|
|
the user is about to make a decision — they need context, not terseness. Always emit
|
|
the full format from the preamble's AskUserQuestion Format section:
|
|
|
|
1. **Re-ground** (project + branch + task — 1-2 sentences).
|
|
2. **Simplify (ELI10)** — explain what's happening in plain English a 16-year-old could
|
|
follow. Concrete stakes, not abstract tradeoffs. Non-negotiable; this is NOT preamble.
|
|
3. **Recommend** — `RECOMMENDATION: Choose [X] because [one-line reason]` on its own
|
|
line. Never omit this line. Never collapse it into the options list.
|
|
4. **Options** — lettered `A) B) C)` with Completeness scores (coverage-differentiated)
|
|
or the "options differ in kind" note (kind-differentiated).
|
|
|
|
If you find yourself about to present an AskUserQuestion without the Simplify/ELI10
|
|
paragraph, without a RECOMMENDATION line, or by just listing options and asking "which
|
|
one?" — stop, back up, and emit the full format. The user will ask you to do it anyway,
|
|
so do it the first time.
|
|
|
|
**Reminder: subordination applies.** When a skill workflow says STOP, stop. When the
|
|
skill asks via AskUserQuestion, that is the wait-for-user gate, not an ambiguity.
|
|
Completion bias does not override safety gates.
|