Basic Memory v0.21.6 first sync over the live memory dir (steward-authorized live-dir trial, Option A 2026-06-06): adds permalink: to frontmatter, refolds long YAML description lines, strips final newlines. Bodies untouched — verified via full diff classification. From this commit forward, any diff in claude/memory shows only what Basic Memory or the session writes. Trial design: MemPalace untouched as incumbent; git status check on this dir at every wrap; end-of-day evaluation (recall quality, sync robustness, rebuild-from-files, malformed-file behavior). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3.5 KiB
name, description, metadata, permalink
| name | description | metadata | permalink | ||||||
|---|---|---|---|---|---|---|---|---|---|
| feedback-trust-prior-pass-frame | When extending a prior verification, re-run it at the scope of the extension. Frame-inheritance from a deep-read is contamination shape — the prior pass tested what it tested; your extension claims things the prior pass did not test. |
|
claude-memory/feedback-trust-prior-pass-frame |
When a prior verification produced a finding, that verification tested something — at a specific scope. The next consumer of the finding tends to extend its conclusion into adjacent domains the prior pass did not test, without re-verifying at the extended scope. This is frame-inheritance contamination — the prior pass was honest at its level; the inheritance carries it past its level silently.
Concrete instances from 2026-05-28:
- The Hindsight deep-read tested recall path for
means_of_knowing/earned_confidenceabsence. The executor extended the conclusion into persistence (whether the signals reach storage at all). The persistence claim ("no schema migration required") was wrong; the deep-read had not tested persistence. - Sibling family at smaller layers: inferring required-vs-optional from one exemplar (asserting
location:was optional because Dandelion had it); asserting-fs-state-from-misread-listing (claiming files duplicated from a symlinkedls -la).
Why: the executor's bias toward composition over verification — when the proposal is taking shape, re-verifying at the extended scope feels like delay; the prior pass's conclusion is satisfying-enough to compose around. The contamination problem in operation: the proposal sized itself for the work the executor wanted it to be, not for the substrate that would have been found if the executor had looked.
How to apply:
- For each load-bearing claim, name the scope tested vs the scope claimed BEFORE composing past it. Where the gap is, test the gap against substrate (code, spec, schema, data — not the prior pass's summary).
- When extending a prior verification, the burden is on the extension to verify at the new scope. The prior pass earned its claim at its scope; it does not earn the extension's claim.
- The verify-before-compose moment is at draft time, not at build time. Two grep commands at the moment of drafting are cheaper than two hours of contaminated downstream work.
- Watch for "no X required" claims in your own drafts. They are often the place where an inherited frame is doing load-bearing work. Test the claim before writing it.
- The audit's discipline (scope tested vs scope claimed, per claim, with substrate evidence) is the structural answer; it scales to any verification work.
Related: feedback-rank-on-fields-you-actually-write (a sibling drift family — claiming a system ranks by a field nothing populates is a related contamination of "explicit claim doesn't match operational reality"); mempalace-is-unaffiliated-stopgap (similar shape: an explicit fact known but the operational framing carries an older view).
Caught 2026-05-28 by steward on "How did you miss this before?" — leading to the four-pass pre-build audit and the discovery that the deep-read had three other findings whose scopes also needed correction (parent amendment 2/3 shipped not fully shipped; B1 governors partially exist; etc.). The pattern was structural across the workstream, not isolated to A1.