fix(dreaming): read the case signal the way the writer meant it (v0.281.1) - #500
Merged
Conversation
…81.1)
v0.280.0 swapped the unwinnable topic stop-list for an allow-test on shape. Running a
real pass on instapods + instawp showed case alone isn't enough: the line, which rides in
EVERY agent's system prompt, came back "claude.md, drafts, support, sweep, automated".
Every leaked word came from a construction where the capital wasn't a choice:
- Shouted headers — one prompt repeated 10× opened `AUTOMATED INCREMENTAL SUPPORT SWEEP`.
An acronym must now be short AND isolated (a real one sits among lowercase words).
- Title Case lines — skipped; case separates nothing within them.
- Emoji-prefixed OS templates (`✅ Really done:`) — an emoji now counts as a sentence start,
so "really"/"handed" stop reading as names.
- Enumerated labels — `Phase 1`, `Tier 2`.
- Words the corpus ALSO writes lowercase: a real name is consistently capitalized
(Composio, DataForSEO); evidence counted per distinct line so one repeated template
can't outweigh every real name.
- Filenames qualify on the base name, not `.md` — the dot rule was admitting `claude.md`
and the placeholder `yyyy-mm-dd.md`.
Plus the OS's own tool vocabulary as stop-words (publish/recall/remember/notify), which
describes how an agent worked, not what it worked on.
Measured on both live corpora (read-only snapshots, 258 and 760 episodes):
instapods before: claude.md, drafts, support, sweep, automated
after: composio, dataforseo, monday, library, instapods.com
instawp before: handed, really, read-only, server, freescout
after: read-only, freescout, wait, bunny, shield
137/137 governance + 18/18 tier-A policy, typecheck, web build.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #492, found by actually running a reflect pass on two live tenants instead of trusting the synthetic fixture.
v0.280.0 replaced the unwinnable topic stop-list with an allow-test on shape — a topic must be written as a name. Correct idea, but case alone isn't enough. The guidance line (which rides in every agent's system prompt) came back:
Every leaked word came from a construction where the capital wasn't a choice:
AUTOMATED INCREMENTAL SUPPORT SWEEP — runs every 2h…(one prompt, ×10)SSL,FPM) sits among lowercase words✅ Really done:/⛔ Handed back:(the OS's own poke-back cards)Phase 1,Tier 2Publish/publish,Phase/phaseclaude.md, placeholderyyyy-mm-dd.mdPlus the OS's own tool vocabulary as stop-words (
publish/recall/remember/notify, joining the existingreport/update) — plumbing that describes how an agent worked.Measured on the live corpora
Read-only snapshots, both tenants, driving the real
dream():Residual, stated honestly: instawp still surfaces
read-onlyandwait— both are emphasis words in automation prompts (Read-only. Then report.,run it in the FOREGROUND and WAIT) that are genuinely almost always capitalized in that corpus, so no case rule can catch them. 3 of 5 real (was 1 of 5). The line is advisory prose, not a gate; I'd rather leave two soft words than start re-growing a blocklist.137/137 governance + 18/18 tier-A policy, typecheck, web build.
🤖 Generated with Claude Code