feat(playbooks,claude-config): mint the Sonnet 5 adaptation chapter and ship the IA-3 audit rows - #1914
Conversation
…two audit rows
Roster row 6 — "Prompting Claude Sonnet 5". The live page was re-fetched through
the raw-markdown channel on 2026-08-04 and is byte-identical to the 2026-07-29
capture (15,864 bytes, MD5 6d23959f0ed226feb06bf20c314029e3), so this ships the
page's unshipped deltas rather than reacting to a change.
The row carried the IA-3 cluster: 11 candidate instruction-audit rows. Three
survive, and the record's framing was wrong on two of them.
playbooks 0.6.13 — reference/model-adaptation/sonnet-5.md. Meta-rule 3's fallback
for a family with no chapter is to read none, and it named Sonnet by name. This
repository routes mechanical fan-out and wide reads to Sonnet, commonly pairing
model: sonnet with a low effort value — which is exactly where the guide places
the risk ("on moderately complex tasks running at `low` effort there is some risk
of under-thinking"). The one reader guaranteed no adaptation chapter was the one
most likely to need it. The earlier recommendation not to mint a Sonnet-5 skill
deferred to an open question about where per-model doctrine lives; ADR-0007
settled that, so the decision is re-derived rather than inherited.
claude-config 0.21.3 / criteria 1.11.0 — I8-e (forced interim-status cadence,
unscoped) and I17-c (fixed thinking budget on an adaptive-reasoning model).
I8-e ships as a SPLIT of I8-d rather than a promotion of it. Both guides prescribe
removing the same scaffolding, but on different grounds, and I8-d's detect
predicate is the short-turn PREMISE — which the Sonnet 5 page attests nowhere.
Its sibling clause ("answer quickly or keep turns brief") runs against what that
page actually says about response-length calibration. So the cadence arm goes
unscoped and the turn-duration arm stays fable-5-scoped.
I17-c covers the claim I17-a does not: that thinking depth can be set to a NUMBER.
A nonzero MAX_THINKING_TOKENS is silently ignored on adaptive-reasoning models;
API budget_tokens returns a hard 400. Its central fence is that the finding is the
missing model gate, never the mention — CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING is
live on Opus 4.6 and Sonnet 4.6, so the record's "stale reference sweep" framing
would have flagged every accurate document about it.
Eight candidates dropped, with reasons recorded in the return: two are already
shipped (I8-b carries the severity-bar row unscoped with this guide already cited,
and review/context/severity.md already implements the concrete bar), and six fail
the fire-on-designed-surfaces test or land outside this catalog's scope — the
sampling-parameter row most notably, whose own digest routes it to repo code and
scripts, a surface neither this skill nor claude-config:audit owns.
The migration guide joins the catalog's Sources, which by the catalog's own rule
widens the recheck trigger to every row.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…ol claims Independent fresh-context review, with the authoring rationale withheld, found the promotion gate on I8-e unmet and two accuracy defects in the chapter. I8-e is now Model scope: sonnet-5, not unscoped, and the narrowing applied to I8-d is reverted. The gate wants two model guides STATING the claim. Only the Sonnet 5 guide states it. The Fable 5 guide's "Longer turns by default" section prescribes adjusting client timeouts, streaming, and progress indicators, says nothing about removing instructed status cadence, and elsewhere that guide recommends ADDING a send-to-user progress mechanism — verified by re-reading the section and grepping the page. I8-d reaches the cadence by inference from its turn-duration premise, which is a legitimate ground for a scoped row but is not a second statement. Two scoped rows now cover one instruction shape from the two guides that reach it; exact-match scoping means they never co-fire, and both rows say so. sonnet-5.md claimed MAX_THINKING_TOKENS=0 "turns thinking off outright" on Sonnet 5. It does so on the Anthropic API; on third-party providers it omits the thinking parameter and an adaptive-reasoning model may still think. Dropping that exception is a finding under this repo's own I17-a. Both the chapter and I17-c also dropped the "From v2.1.111" qualifier on CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING — the gate that row is built on is a release as well as a model set, so I17-c's fence now covers both and would no longer flag a surface documenting pre-v2.1.111 behavior. Also: restored two upstream hedges the chapter had stripped (the precision/recall sentence and "the recommended way"); attributed the guide's cadence example and separated it from the catalog's invented equivalents; removed a reference to scanner test fixtures that do not exist, since I8-e is deliberately unseeded; dropped the [CC: harness-covered] tag the chapter defined and never used; stopped the header claiming every line is sourced when the under-thinking signs and authoring notes are this chapter's own; made the quotation note and the corpus pointer honest; and de-coupled the sibling-chapter reference from hardcoded filenames. All 25 authored quotations re-verified character-exact against live raw-markdown fetches by script. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…tive The previous commit claimed all quotations were script-verified. That check was flawed: it tested strings typed into the checker, not strings extracted from the files, so a quotation could pass while the file said something else. Re-run with a parity-correct extractor that pulls quoted spans out of this branch's own added lines, 20 spans of eight words or more now verify character-exact against live raw-markdown fetches, and two did not before this commit. - sonnet-5.md nested the guide's scope example in single quotes inside a double- quoted sentence; upstream uses double quotes, and criteria.md's I8-e Source had already been corrected the same way. - I17-c's Remediate quoted "the effort parameter is a separate output-level control" — a rendering that appears in no source verbatim. Two migration-guide passages carry it as a markdown link and one as `effort` in backticks; the row now quotes that third form, which is exact. I8-e's Verified line now covers both pages it rests on. The row is scoped rather than promoted because the Fable 5 guide does NOT state the cadence claim, and that negative is load-bearing — it earns its own stamp and its own re-check trigger rather than resting on a reading recorded only in a commit message. Also: opus-4-8.md's preamble routes generically instead of naming siblings by filename, matching opus-5.md and removing a coupling that made every new chapter edit its predecessors. And SKILL.md no longer justifies I8-e as unseeded on "phrasings too varied" — that reason fits I8-d, not a row whose skeleton is patternable; I8-e waits on an attested instance to calibrate interval forms. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Claude finished @kyle-sexton's task in 2m 33s —— View job Code review complete
This is a docs-only change (new playbook chapter + Verified, no issues found:
Suggestions (non-blocking):
No correctness, maintainability, or architectural issues found. The PR's claims about itself (provenance hashes, cross-reference updates, "no work needed" assertions) all verified against the actual file contents. |
|
Claude finished @kyle-sexton's task in 44s —— View job Security review complete
Scope confirmed via FindingsNone. This PR is documentation-only: markdown prose (a new model-adaptation chapter and audit-criteria rows) plus semver bumps in plugin manifests and changelog entries. There's no code execution path, no GitHub Actions workflow touched, no credential/token/secret handling, no injection surface (command, SQL, path, template), and no permission or config-widening change — The one thing in-scope for a security lane to note and dismiss: the new content is instructional/behavioral prose intended to be loaded into a Claude session's context (a skill/playbook chapter). That's an established, reviewed pattern already used by this repo's other No zizmor-lane concerns apply either (no workflow/action files changed to check for unpinned actions, dangerous triggers, or excess permissions). Verdict: no security issues found. |
|
Claude has reviewed this PR 2 times. The lane skips further automatic reviews after 5; deleting this comment resets the count. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4c463f3a58
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…po routing Codex finding: the preamble presented this repository's own routing policy (sonnet paired with low effort for mechanical work) as the reader's execution context, but the chapter ships to consumer repos with arbitrary routing - a reader could calibrate against a fictitious low-effort dispatch. The condition now reads the session's actual effort setting, names the common pattern as a dispatching repository's policy rather than a guarantee, and states the higher-effort behavior. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 1m 33s —— View job Code review complete
This lane's scope is docs/correctness/maintainability, with security left to the dedicated security lane per REVIEW.md — and REVIEW.md's two always-check items (audit-log on high-risk security actions, atomicity across multi-file writes) don't apply here since nothing in this diff performs a security action or writes coupled state files. This review re-examines the full PR diff at the current head ( The one substantive finding on this PR — Codex's — is fixed correctly. Codex flagged that the original chapter preamble stated, as a fact about the reader, that "You are the model this repository routes delegated and mechanical work to," pairing that with a low-effort assumption. Since this chapter ships as installable plugin content ( Commit 652a6924a2 fixes this precisely: sonnet-5.md#L14-L17 now reads "Check the session's actual effort setting" and names the low-effort pairing as "a dispatching repository's policy, not a guarantee about yours," and adds the higher-effort behavior ("at higher effort it still applies, with more room before the risk bites"). This is a 5-line, single-file change (confirmed via Independently re-verified in this pass:
No new issues found. Nothing else in the diff changed since the prior review passes, and this PR's only open finding is resolved. |
|
Claude finished @kyle-sexton's task in 48s —— View job Security review complete
Scope confirmed: all 9 changed files match the PR description exactly — two FindingsNone. This PR is entirely markdown prose plus semver bumps:
Per this lane's scope, I deferred to zizmor's advisory lane for anything it already covers statically (unpinned actions, dangerous triggers, excessive permissions, template injection) — moot here anyway since no workflow files are touched. Verdict: no security issues found. |
…odel facts (#1915) ## Summary Doc-alignment roster row 8: **Models overview** — the docpage-digest profile's canonical model-fact freshness source. First repo capture of the page (29,119 bytes, MD5 recorded); systematic ten-dimension sweep of every repo surface stating a fact this page owns. Sweep verdict: the repo is clean — pointer-not-copy holds everywhere except one surface. The single fix: `prompts/loops/loop-lane-prompts.md` justified two lane assignments with bare, undated page-owned facts (`opus` freshest-cutoff; `haiku` 200k/oldest-cutoff). Both were *true*; the defect was discipline. The rationales now carry the sanctioned dated-matrix shape already used by `docs/PLUGIN-PHILOSOPHY.md`'s tier table: figures upstream-owned and not restated, a dated resolution (2026-08-04), and a recheck trigger naming the derived-ordering failure mode (either comparison can flip while every underlying figure stays correct). Operational instructions unchanged. Also verified in passing: the profile's canonical-freshness claim is structurally true (current matrix + legacy accordion in one fetch); #1911's three enqueue negatives re-confirmed against the live page; all agent `model:` frontmatter still aliases; legacy placements and tier orderings consistent repo-wide. Component opportunity (a stored capture-and-diff freshness probe) declined: no upstream sync path for a hand-copied materialization, a one-consumer count, and the lightweight trigger shape already proved itself by producing #1912 — deferred with a trigger recorded on the roster row. ## Test plan - Single file, +11/−2, no plugin/changelog touched (parity script is plugin-scoped — confirmed by reading it); markdownlint clean. - Independent fresh-context Fable verifier: its own live fetch and scripted ordering checks (both derived orderings true), three sweep spot-checks (all holds), positional-wording check, `git merge-tree` conflict-free against current main, decline-soundness and scope-call review — **all PASS, empty defect list**. ## Related - No linked issue. - Doc-alignment loop, roster row 8. Predecessors: #1908–#1914 (rows 1–6 + row-5 follow-ups). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_019gaVX25Txd6GXdiu9HEH3X Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Summary
Doc-alignment roster row 6: Prompting Claude Sonnet 5 (live page byte-identical to the archived capture, MD5 confirmed independently by producer and verifier — this ships unshipped deltas, not drift reaction).
playbooks 0.6.13 — new model-adaptation chapter
sonnet-5.md(233 lines, opus-5/opus-4-8 pattern: version-scoped counter-steers,[CC:]tags, Sources block with capture provenance). Rationale for minting where RA-3 once said don't: ADR-0007 has since settled where per-model doctrine lives (closing RA-3's blocking premise), and the reader guaranteed to get no chapter — a Sonnet worker dispatched at low effort for mechanical prep, exactly where the guide places the under-thinking risk — was the one most likely to need it. Cross-references updated both halves (fable-5 meta-rule 3 gains the chapter; its no-chapter example narrows to Haiku; opus-4-8's preamble decoupled to generic routing so new chapters stop editing their predecessors).claude-config 0.21.3 / criteria 1.11.0 — the IA-3 cluster dispositioned, all 11 candidates:
Model scope: sonnet-5— deliberately scoped, not an unscoped I8-d promotion: the promotion gate needs two model guides stating the claim, and the Fable 5 guide's "Longer turns by default" prescribes timeout/streaming adjustments, never cadence removal — verified negative stamped on the row; the two rows state their no-co-fire relationship in their own words). I17-c (a fixed thinking budget prescribed where adaptive reasoning silently ignores or hard-rejects it — the finding is the missing model-AND-release gate, never the mention; fenced off I17-a's=0claim).review's severity.md already carries decidable per-tier tests citing it — closing RA-2 / IA-1(1b) / IA-3's severity row as three IDs, one fix).Test plan
--check/--check-bump/--check-orderpass;instruction-scan.test.sh46/46;validate-plugins.shpass.MAX_THINKING_TOKENS(now carries the API-vs-third-party nuance, which model-config states verbatim). Producer's first quote-checker was itself found broken and rebuilt; final run 20/20.Related
🤖 Generated with Claude Code
https://claude.ai/code/session_019gaVX25Txd6GXdiu9HEH3X