feat: match Claude Code 2.1.302 beta lists; gzip mutation rows
Merged
AN
5h ago+389+389+012345678901234567890123456789-188-188-012345678901234567890123456789
Makes our anthropic-beta lists match Claude Code 2.1.302 exactly, for every model and request class in our interactive capture, and adds the missing gzip mutation rows.
- Removed betas 2.1.302 doesn't send:
mid-conversation-system-2026-04-07(no longer registered in the binary),mid-conversation-output-config-2026-07-01(absent from the binary; Fable 5.1 effort changes now go underper-turn-control, as Claude Code does),advisor-toolandfallback-credit(sent only with the advisor feature or a fallback credit code, which we never use). - Added to every main list, as captured:
thinking-binding-controls-2026-08-01andthinking-display-updates-2026-08-18. The body is unchanged: binding fields still need an explicit setting and replayed thinking, and thinking staysdisplay: "summarized"(Claude Code sends"updates", which streams no thinking text; a live check showed the beta changes nothing with"summarized"). - Selection by request class, not body shape: main requests get the captured main list for their model plus only the feature betas the body needs (structured outputs, fast mode, server-side fallback, context-1m); the one-token quota probe gets the quota list; other auxiliary requests get the title list. Tests that asserted the old shape-based selection are rewritten; this is a deliberate contract change.
- Mutation rows for the gzip
cchreset, the gzip rejection classification, the gzip process latch and the Fable 5.1 per-turn-control switch, each proved CAUGHT.
The shared wire vectors move to cortexkit-anthropic-policy 0.1.3 (commons 3ce6295d), regenerated for these lists.
Summary by cubic
Makes our anthropic-beta lists match Claude Code 2.1.302 by request class, replacing the previous body-shape heuristics, and adds gzip mutation coverage.
- Main OAuth turns now use the captured main beta list even without tools or companion fields; auxiliary one-token quota probes and other auxiliary requests use their captured lists.
- Removed the obsolete
mid-conversation-system,mid-conversation-output-config,advisor-toolandfallback-creditbetas. Fable 5.1 effort changes now run underper-turn-control-2026-07-01, matching Claude Code. - Main requests now advertise
thinking-binding-controls-2026-08-01andthinking-display-updates-2026-08-18unconditionally, without changing binding fields or keeping summarized thinking. - Regenerated the seven OAuth wire vectors and pinned them to
cortexkit-anthropic-policy0.1.3. - This is a deliberate contract change: tests that asserted the old shape-based selection are rewritten.
Mutation Coverage
- Added five catalogue controls for the gzip CCH reset, both gzip rejection classification branches, the process latch, and the Fable per-turn-control switch. All were proved CAUGHT.
- Dropped the Pi CacheKeep prewarm body-beta control: request-class selection makes a prewarm's headers identical with or without its body, so the mutant is equivalent; the property is now covered by Core's own rows.