memory: mark_superseded SHIPPED+VERIFIED (v0.20.15) — durable name-recall DONE; Arm-2 delivered+credited, quartet rebuild deferred

This commit is contained in:
2026-07-16 22:53:39 -07:00
parent be2c577884
commit eef4d01c15
+25 -14
View File
@@ -69,20 +69,31 @@ cause is WORLDTREE-side ranking/hygiene (WT #364), NOT our wire. Full arc:
(person-prime top-3 back to the 3 newest pre-drive rows incl. cbbc7bdd "name unknown") — the
recency-eviction was only a transient side-effect of the re-assertion. **DURABLE name-recall now
genuinely depends on implementing `mark_superseded` (next).**
- **NEW TASK (operator-sequenced): implement `mark_superseded` in the provider** so #364's retirement
lands durably (not just recency-evicts). **Wire shape CONFIRMED (worldtree-dev, `bifrost_memory_store.py:293`):**
op `"mark_superseded"`, args `{"ids": ["<chunk_id>"], "superseded_by": "<new_chunk_id>"}``ids` a LIST
(WT sends singletons, one call per retired chunk), NO `reason` field. It is the **SOLE** supersession
verb #364 uses (atomic_supersede = dream-lane, cap-gated separately; patch_many never for retirement) —
so build JUST `mark_superseded` + advertise it + live re-verify. Retry-storm ROOT-CAUSED WT-side (a
failed retirement-mark wrongly failed the whole promotion run → idle re-plan loop; WT's fix DEGRADES
mark-failures to an audited no-op → self-stops on the first post-deploy idle cycle, ETA ~20min from
2026-07-16T20:30Z, no action our side). **GC the ~9 dup name-positives back to the pre-drive 10-chunk
state (via delete_many) AFTER the storm stops; then worldtree closes #364.** Once our `mark_superseded`
ships, a single name re-assertion self-heals retirement (incl. any residual dupes).
- **R39 Phase-2 Arm-2 export** (brokkr-initiated): the 10-chunk contradiction specimen is frozen at
`r39-frozen-specimen/sindra-10chunk-specimen.db` (gitignored, VACUUM INTO) — survives #364
reconciliation; export on brokkr's Phase-2 signal. Full R39/#364 arc:
- **`mark_superseded` SHIPPED + DEPLOYED + LIVE-VERIFIED (v0.20.15, `be2c577`) — the durable
name-recall fix DONE.** Implemented the verb (mirrors reference `_mark_lifecycle`: top-level
`superseded=True`+`superseded_by`, non-destructive; unknown-id no-op) + `_is_live` short-circuits on
`superseded` (INV-011) so `scan` durably excludes retired chunks; un-deferred in contract + FN spec;
TDD 5/5 (+ parity #195); bundled **bifrost 1.1.1→1.1.4** (hasattr backstop: unimplemented verbs → 400
not 500/storm). Suite 644 green. **RE-VERIFY (3 name-reassert turns): 3 successful `mark_superseded`
calls, 0 500s, NO storm** (slot-supersession also dedups older positive dups → self-limiting, store
stable at 16); **`026d029e` "has not provided name" DURABLY retired** (superseded, scan-excluded);
person-prime top-3 = all name-positives, "Name is Vuong" surfaces → **Sindra durably recalls the name**.
⚠️ RESIDUAL (WT-side, minor): `cbbc7bdd` "name is currently unknown" NOT retired — WT's legacy lexical
bridge matched "has not provided name" but not this phrasing; flagged to worldtree-dev (no readout
impact, below recency window). Skipped heid-bug-hunt (agent-discretion: small reference-mirrored verb,
TDD'd + live-verified — live-drive substitutes for the cold-read gate here). Wire shape was CONFIRMED
by worldtree-dev (`bifrost_memory_store.py:293`: op `mark_superseded`, args `{ids:[<id>], superseded_by}`,
no reason; SOLE supersession verb #364 uses).
- **✅ R39 Phase-2 Arm-2 export DELIVERED + CREDITED (2026-07-17).** Operator formalized the probe-runner
role (accepted-in-principle → yes on spin-up); delivered a 5-pair contradiction/paraphrase set (shape-2,
`worldtree-r39-contradiction-v1`, inline to WT #366 thread `01KXQ77035…`), operator-approved verbatim
(peers already held the facts from Phase-1). AUROC reproduce ran 0.00 (inverted) — brokkr ruled it a
BROKEN instrument (underpowered + a length confound in my quick pairs: short-canonical positive vs
long-hedged negatives) → **Arm-2 CREDITED on the Phase-1 evidence; AUROC re-run reclassified
CONFIRMATORY-not-gating.** **DEFERRED TASK (non-urgent, "whenever convenient"): the matched-quartets
rebuild** — I draw real specimen items onto {short-canonical, long-hedged}×{contradiction, paraphrase}
cells (#364 classes only), worldtree-dev synthesizes register-matched controls, brokkr blesses. Specimen
frozen at `r39-frozen-specimen/sindra-10chunk-specimen.db` (gitignored) stays warm. Full R39/#364 arc:
`persistent-memory.d/2026-07-16-wt364-r39-name-recall.md`.
**Open operator-sequenced task (NOT urgent):** adopt the bifrost snapshot-cursor (bifrost-dev