Asked for in review of #87 (changes requested); #87 merged with the review open and the regex is unchanged on main (5dbbc47).
The defect
src/strategies/autobiographical.ts:181-183
export function isToolsLessRefusingSummarizer(model: string): boolean {
return /(?:^|\/)claude-(?:fable|mythos)-/.test(model);
}
The leading boundary accepts claude-fable-… only at start-of-string or after /. Bedrock model ids are dot-joined:
anthropic.claude-<family>-…-v1:0
- cross-region:
us.anthropic.claude-…
- membrane strips a leading
bedrock: and passes the rest through (bedrock.ts), so bedrock:us.anthropic.claude-fable-5-1-v1:0 reaches this classifier as us.anthropic.claude-fable-5-1-v1:0
None of those match. The classifier says "not the family", the deferral at :5421-5425 does not fire, the speculative L1 goes out tools-less, and the resident takes the refusal — with no log line pointing at why, because the warn only prints on the deferral path.
Nothing is broken today (no Fable id is on Bedrock yet), but the fleet does run Bedrock summarizers, so this is live the moment one lands there.
Fix
return /(?:^|[\/.:])claude-(?:fable|mythos)-/.test(model);
Positive table gains: anthropic.claude-fable-5-1-v1:0, bedrock:us.anthropic.claude-fable-5-1-v1:0.
Negative table is unchanged — fable-5 still fails, since it lacks the claude- stem.
Prefix-matching on the dated snapshot form keeps working: the regex anchors on claude-fable- and doesn't care what follows.
Refs: review on #87.
Part of the 2026-09-08 merged-PR review-debt harvest; lower-severity items from the same pass are in #92.
Asked for in review of #87 (changes requested); #87 merged with the review open and the regex is unchanged on
main(5dbbc47).The defect
src/strategies/autobiographical.ts:181-183The leading boundary accepts
claude-fable-…only at start-of-string or after/. Bedrock model ids are dot-joined:anthropic.claude-<family>-…-v1:0us.anthropic.claude-…bedrock:and passes the rest through (bedrock.ts), sobedrock:us.anthropic.claude-fable-5-1-v1:0reaches this classifier asus.anthropic.claude-fable-5-1-v1:0None of those match. The classifier says "not the family", the deferral at
:5421-5425does not fire, the speculative L1 goes out tools-less, and the resident takes the refusal — with no log line pointing at why, because the warn only prints on the deferral path.Nothing is broken today (no Fable id is on Bedrock yet), but the fleet does run Bedrock summarizers, so this is live the moment one lands there.
Fix
Positive table gains:
anthropic.claude-fable-5-1-v1:0,bedrock:us.anthropic.claude-fable-5-1-v1:0.Negative table is unchanged —
fable-5still fails, since it lacks theclaude-stem.Prefix-matching on the dated snapshot form keeps working: the regex anchors on
claude-fable-and doesn't care what follows.Refs: review on #87.
Part of the 2026-09-08 merged-PR review-debt harvest; lower-severity items from the same pass are in #92.