Three follow-ups CC 2.1.257 asked for
Stacked on the adoption PR. Each one is small; each one changes what a session sees.
1. fable-spend-consent, simulate a spawn
Pick the spawn's model pin and the session env. The hook's answer is what CC would see.
Why FORCE matters: with CLAUDE_CODE_SUBAGENT_MODEL_FORCE set, CC applies CLAUDE_CODE_SUBAGENT_MODEL (or the main model) to every subagent and ignores the pin this hook inspects. Before this change the hook asked consent for spend that could not happen.
2. doctor read boundary
| settings state | doctor output |
|---|---|
blockReadsOutsideWorkingDirectories unset | no warning, read_boundary.block_reads_outside = unset |
true, additionalDirectories includes ~/.claude | no warning |
true, additionalDirectories does not cover ~/.claude | warn: analytics, dream, memory and doctor reads outside the project will be refused, not prompted |
Scope: observed, never fixed by the script; doctor prints the JSON and the operator decides. Finding 8 in settings-posture.md.
3. fable alias to claude-fable-5-1
| claim | measured |
|---|---|
vocab comment: advancing an alias fails test-model-recency.sh until docs follow | wrong: the ratchet passed with the advance and reported prose claims 11 < 16 (improved); baseline refreshed |
cost for model: fable agents | $10 in, $50 out unchanged; cache reads $0.25 instead of $1.00 |