release: v1.88.0 — Opus 5 default driver, autocompact fix, escalation ladder - #472
Merged
Conversation
… ladder Ships 8 consumer-path commits stranded since v1.87.0 (2026-07-14). **Opus 5 becomes Setup A** at `xhigh`, requires Claude Code v2.1.219+. Sonnet 5 moves to Setup B (`medium`) for simple/one-off work. Flagged as a trial — strong on paper, unproven by field data. **Autocompact fix, consumer-visible:** skills/setup/SKILL.md was writing CLAUDE_AUTOCOMPACT_PCT_OVERRIDE: "30" into consumer .claude/settings.json for Setup A. That figure came from the retired opus[1m] opt-in and was never re-derived. Per raw env-vars docs the variable only lowers the trigger where compaction is PROACTIVE, and a local Opus session is the docs' own counter-example. Setup A now writes no override. Corrected in 6 wizard-doc sites plus the writer, worded as a documentation gap rather than a runtime claim. Setup B's 75 is unchanged and still correct. **Escalation ladder:** both SKILL.md copies and the wizard doc said "ASK USER" for LOW/FAILED-2x/CONFUSED, skipping model escalation entirely. Now Fable → Codex xhigh → human, with the human reserved for priority, risk, scope, spend, and irreversible calls. Confidence is not authorization. 10 more direct-to-human routes removed including the CI flow diagram and the generated CLAUDE.md template. The shipped runtime hook was emitting the OLD ladder on every consumer session — fixed and regression-tested. Also: SDLC.md gains a 9-lesson post-mortem, and ROADMAP #468-479. Version bumped across all 9 tracked locations per SDLC.md's own version-bump checklist (the narrow greps have documented blind spots). Full suite: 61 files, 0 failing.
Maintainer asked why context was at 93% and whether quality degrades. It does, and this session's last 15% is the evidence: a '41/41 passing' where 10 tests ran after the exit block, a newline hole introduced while fixing a substring hole, a 10-minute spin from a forgotten sandbox flag, and #479 — where the correct diagnosis sat in a committed ROADMAP row hours before the wrong fix shipped. Distinct from #476 (what to load) and #220/#236 (file sizes). This is session hygiene: how a driver notices its own degradation. Scope says do NOT ship a threshold number without a source, and favors symptom-based self-checks over a percentage — plus a note that a documented rule alone failed to change behavior twice tonight.
9 tasks
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.
Ships 8 consumer-path commits stranded since v1.87.0 (2026-07-14) — the ROADMAP #449 drift scenario, resolved.
What consumers get
Opus 5 becomes the Setup A default at
xhigheffort. Requires Claude Code v2.1.219+ (below that,opusstill resolves to 4.8). Sonnet 5 moves to Setup B (medium) for simple/one-off work. Flagged as a trial — strong on paper, unproven by field data.Autocompact fix — this one was actively writing bad config.
skills/setup/SKILL.mdwroteCLAUDE_AUTOCOMPACT_PCT_OVERRIDE: "30"into consumer.claude/settings.jsonfor Setup A. That figure was derived for the retiredopus[1m]extended-context opt-in and never re-derived. Per the raw env-vars docs, the variable only lowers the trigger where compaction is proactive — and a local Opus session is the docs' own counter-example. Setup A now writes no override. Corrected across 6 wizard-doc sites plus the writer, and deliberately worded as a documentation gap rather than a runtime claim, since the docs are silent on Opus 5's local behavior.Setup B's
75is unchanged and still correct — Sonnet 5 is a documented proactive case.Escalation ladder. Both
sdlc/SKILL.mdcopies and the wizard doc previously said "ASK USER" for LOW confidence / FAILED-2x / CONFUSED, skipping model escalation entirely. Now Fable → Codexxhigh→ human, with the human reserved for priority, risk appetite, scope, spend, and irreversible or outward-facing calls. Confidence is not authorization — it never overrides an approval, production, release/merge, or policy gate.Ten further direct-to-human routes removed, including the CI-failure flow diagram and the generated
CLAUDE.mdtemplate. The shipped runtime hook (hooks/sdlc-prompt-check.sh) was emitting the old ladder on every consumer session, contradicting the docs — fixed and regression-tested.Also
SDLC.md— 2026-07-24 post-mortem, 9 portable lessons on test design and process/doctorintegration ([bug] prompt-type Stop hook has no repeat-suppression, loops indefinitely on any legitimately-explained failure #477), merge-gate friction (Investigate: "delete your CLAUDE.md, hooks and skills every 6 months" — verify the source, then test the claim against this repo #478), and a/sdlcgap where the workflow verifies the solution but never re-checks the diagnosis (release: v1.90.0 — Stop-hook in-flight fix, corrected consumer docs, review-loop guidance #479)Verification
SDLC.md's own version-bump checklist — the two narrow greps have documented blind spots that bit at v1.76.0, v1.77.0, and v1.85.0Publishing
Merging does not publish.
git tag v1.88.0 && git push origin v1.88.0triggers the npm release.