- The guard's limit is now 35% of
HANDOVER_CONTEXT_WINDOW(still 350,000 tokens with the default 1,000,000), so the window setting moves the limit instead of only the percentage shown.HANDOVER_CONTEXT_LIMITstill wins when it is set. A window that is not a positive number counts as unset. - The installed
/recallskill finds the script and the transcripts from its own folder,${CLAUDE_SKILL_DIR}, which Claude Code fills in before the model reads the skill. It used to name~/.claude, so withCLAUDE_CONFIG_DIRset it missed the copyinitinstalls; now it follows it, and the command keeps nothing for the shell to expand, soBash(node:*)covers it as before. scripts/selftest.mjs --replayfollowsCLAUDE_CONFIG_DIR,HANDOVER_PROJECTS_DIRandHANDOVER_DATA_DIRlike recall does, instead of always reading~/.claude.initkeeps aclaude-token-rules.mdyou edited asclaude-token-rules.md.bak-YYYYMMDDbefore it replaces the card, and reports the backup; a card it wrote for another model list is replaced without one.scripts/usage-report.mjsandscripts/cache-report.mjsread the transcripts of$CLAUDE_CONFIG_DIRwhen it is set, as recall does (--rootstill wins), and the cache report names its 55-minute threshold in its headings. The threshold is unchanged.- Documentation matched to the code. The guard asks once, at the end of a turn above the limit, when HANDOVER.md is older than 30 minutes; it does not hold the turn open until the handover is written, and 35% is a share of the window. Also corrected: SECURITY.md (what reaches Claude, what
uninstallkeeps), the setup prompt (backup name, a longercleanupPeriodDays, rules card rows,git pullon a plain copy), the README (recall index, saved effort levels,--no-hooks, model ids, next-day sessions, the stress test, model combinations, CI on Node 18) and CONTRIBUTING (a throwaway config folder that stays set, the prompt route, "every job"). - Tests for each of these, and for all 15 combinations of the four models.
See the README to set it up, and CHANGELOG.md for every version.