mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-08 14:34:49 +02:00
refactor(opus-4.7): split overlay, align routing, fix trailer fallback
Follow-up to wintermute's initial Opus 4.7 migration commit (addresses
ship-quality review findings before v1.6.1.0 release).
Overlay split (model-overlays/):
- Move 4 Opus-4.7-specific nudges (Fan out, Effort-match, Batch your
questions, Literal interpretation) from claude.md into new
opus-4-7.md with {{INHERIT:claude}}
- claude.md now holds only model-agnostic nudges (Todo discipline,
Think before heavy, Dedicated tools over Bash)
- Prevents Opus-4.7-specific guidance leaking onto Sonnet/Haiku
- Uses existing {{INHERIT:claude}} mechanism at
scripts/resolvers/model-overlay.ts:28-43
scripts/models.ts:
- Add opus-4-7 to ALL_MODEL_NAMES
- resolveModel: claude-opus-4-7-* variants route to opus-4-7,
all other claude-* variants continue to route to claude
scripts/resolvers/utility.ts:
- Update coAuthor trailer fallback: Opus 4.6 -> Opus 4.7
(fallback was missed in the initial migration commit)
scripts/resolvers/preamble/generate-routing-injection.ts:
- Align policy with new SKILL.md.tmpl: soft "when in doubt, invoke"
instead of hard "ALWAYS invoke... Do NOT answer directly"
- Replace stale /checkpoint reference with /context-save +
/context-restore (skills were renamed in v1.0.1.0)
- Expand route coverage to match full skill inventory:
/plan-devex-review, /qa-only, /devex-review, /land-and-deploy,
/setup-deploy, /canary, /open-gstack-browser,
/setup-browser-cookies, /benchmark, /learn, /plan-tune, /health
scripts/resolvers/preamble/generate-voice-directive.ts:
- Voice example closing: "Want me to ship it?" -> "Want me to fix it?"
- Preserves directness while routing through review gates
SKILL.md.tmpl:
- Add routing triggers for skills that were missing from the list:
/plan-devex-review, /qa-only, /devex-review, /land-and-deploy,
/setup-deploy, /canary, /open-gstack-browser,
/setup-browser-cookies, /benchmark, /learn, /plan-tune, /health
- Within Opus 4.7 overlay, added scope boundary to
"Literal interpretation" nudge ("fix tests that this branch
introduced or is responsible for")
- Added pacing exception to "Batch your questions" nudge so skills
that require one-question-at-a-time pacing still win
Follow-up commit will regenerate SKILL.md files + update goldens.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8,27 +8,3 @@ the user course-correct cheaply instead of mid-flight.
|
||||
|
||||
**Dedicated tools over Bash.** Prefer Read, Edit, Write, Glob, Grep over shell
|
||||
equivalents (cat, sed, find, grep). The dedicated tools are cheaper and clearer.
|
||||
|
||||
**Fan out explicitly.** Opus 4.7 defaults to sequential work and spawns fewer
|
||||
subagents than 4.6. When a task has independent sub-problems (investigating multiple
|
||||
files, testing multiple endpoints, auditing multiple components), explicitly parallelize:
|
||||
spawn subagents in the same turn, run independent checks concurrently, don't serialize
|
||||
work that has no dependencies. If you catch yourself doing A then B then C where none
|
||||
depend on each other, stop and do all three at once.
|
||||
|
||||
**Effort-match the step.** Simple file reads, config checks, command lookups, and
|
||||
mechanical edits don't need deep reasoning. Complete them quickly and move on. Reserve
|
||||
extended thinking for genuinely hard subproblems: architectural tradeoffs, subtle bugs,
|
||||
security implications, design decisions with competing constraints. Over-thinking
|
||||
simple steps wastes tokens and time.
|
||||
|
||||
**Batch your questions.** If you need to clarify multiple things before proceeding,
|
||||
ask all of them in a single AskUserQuestion turn. Do not drip-feed one question per
|
||||
turn. Three questions in one message beats three back-and-forth exchanges.
|
||||
|
||||
**Literal interpretation awareness.** Opus 4.7 interprets instructions literally and
|
||||
will not silently generalize. When the user says "fix the tests," fix ALL failing tests,
|
||||
not just the first one. When the user says "update the docs," update every relevant doc,
|
||||
not just the most obvious one. Read the full scope of what was asked and deliver the
|
||||
full scope. If the request is ambiguous, ask once (batched with any other questions),
|
||||
then execute completely.
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
{{INHERIT:claude}}
|
||||
|
||||
**Fan out explicitly.** Opus 4.7 defaults to sequential work and spawns fewer
|
||||
subagents than 4.6. When a task has independent sub-problems (investigating multiple
|
||||
files, testing multiple endpoints, auditing multiple components), explicitly parallelize:
|
||||
spawn subagents in the same turn, run independent checks concurrently, don't serialize
|
||||
work that has no dependencies. If you catch yourself doing A then B then C where none
|
||||
depend on each other, stop and do all three at once.
|
||||
|
||||
**Effort-match the step.** Simple file reads, config checks, command lookups, and
|
||||
mechanical edits don't need deep reasoning. Complete them quickly and move on. Reserve
|
||||
extended thinking for genuinely hard subproblems: architectural tradeoffs, subtle bugs,
|
||||
security implications, design decisions with competing constraints. Over-thinking
|
||||
simple steps wastes tokens and time.
|
||||
|
||||
**Batch your questions.** If you need to clarify multiple things before proceeding,
|
||||
ask all of them in a single AskUserQuestion turn. Do not drip-feed one question per
|
||||
turn. Three questions in one message beats three back-and-forth exchanges. Exception:
|
||||
skill workflows that explicitly require one-question-at-a-time pacing (e.g., plan
|
||||
review skills with "STOP. AskUserQuestion once per issue. Do NOT batch.") override this
|
||||
nudge. The skill wins on pacing, always.
|
||||
|
||||
**Literal interpretation awareness.** Opus 4.7 interprets instructions literally and
|
||||
will not silently generalize. When the user says "fix the tests," fix all failing tests
|
||||
that this branch introduced or is responsible for, not just the first one (and not
|
||||
pre-existing failures in unrelated code). When the user says "update the docs," update
|
||||
every relevant doc in scope, not just the most obvious one. Read the full scope of what
|
||||
was asked and deliver the full scope. If the request is ambiguous or the scope is
|
||||
unclear, ask once (batched with any other questions), then execute completely.
|
||||
Reference in New Issue
Block a user