gotcontext-memory — claim lifecycle
Companion to gotcontext-memory-hitl-honesty and gotcontext-memory-streaming-digests.
Core ideas
- Promotion is HITL — dream only stages; humans accept/reject.
- Rejected claims have
claimKeyidentity —claimKey(targetPath, body)is stable across runs and independent ofbase_hashso rejects still suppress the next identical body. - Accepted prefs are settled by path presence — if
storeHashesalready hastargetPath, skip re-create(protects human edits). Do not pretend accepts are archived underclaimKey. - Prevalence without a window is noise — unbounded k/n (e.g.
16/17263) is true and useless.
Rules
- No resurrection (two mechanisms) — (a)
loadSuppressedClaimsfromproposals/rejected/**viaclaimKey; (b) preference extract skips when the target file already exists in the store. Red tests intest/dream-suppression.test.ts. claimKey≠proposalId— proposal id may includebase_hash/ evidence material; rejected-claim suppression must not, or CAS drift re-stages the same advice forever.- Window prevalence — CLI
--max-sessions(default 400) per source via stratifiedselectDigests(≈2/3 newest + older strata); report k/n against that window only. - Sort by evidence strength — before
maxProposalsslice:evidence.lengthdesc, then path/id. Never order survivors by sha256 id prefix. - Preference FP hose — anchors
please remember|from now ononly; deny pong/ping//health(L11). Barealways/preferis forbidden without new FP tests. - Alive ≠ useful (L7) — receipts must include staged content quality + accepts, not only “dream run succeeded.”
Signals today (regex / counts — not LLM)
| Signal | Source |
|---|---|
| Preferences | Digest preference spans |
| Prevalence | tool errors, hook blocks, user corrections across window |
| Expire | Staleness pass on memory frontmatter |
Authority
- Lessons L7, L11, L16, L17
- Code:
claimKey/runDreamFromDigestsinsrc/dream/run.ts docs/features/dream.md,docs/HONESTY.md- Prior art: selective promotion / late filtering —
docs/research/2026-08-09-agent-memory-prior-art.md
Verify
cd gotcontext-memory && npm test -- test/dream-suppression.test.ts test/dream.test.ts