Mouth: v4 fixes after Soul pass (target cache, scrub, read cap) #64

Merged
heimdall merged 3 commits from heimdall/pending-v4-fixes into main 2026-11-11 16:17:09 +00:00
Member
  1. Flag off: a hit is cached as before #63 (no re-read after 60 s). Flag on: a failed re-read keeps the earlier hit and renews only its age.
  2. Excerpt scrub strips Cf, Co, tag block, unpaired surrogates, U+061C, U+200B-200D, U+2060-2064; docs no longer claim prompt-safe.
  3. At most 8 uncached reply_to reads per sync round; the rest are reply_to nil (the tuple requires a sender).

Fixtures unchanged. Tests 273 pass.

🤖 Generated with Claude Code

1. Flag off: a hit is cached as before #63 (no re-read after 60 s). Flag on: a failed re-read keeps the earlier hit and renews only its age. 2. Excerpt scrub strips Cf, Co, tag block, unpaired surrogates, U+061C, U+200B-200D, U+2060-2064; docs no longer claim prompt-safe. 3. At most 8 uncached reply_to reads per sync round; the rest are reply_to nil (the tuple requires a sender). Fixtures unchanged. Tests 273 pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Bifrost!64
No description provided.