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

This commit is contained in:
vh
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 (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 recency-eviction was only a transient side-effect of the re-assertion. **DURABLE name-recall now
genuinely depends on implementing `mark_superseded` (next).** genuinely depends on implementing `mark_superseded` (next).**
- **NEW TASK (operator-sequenced): implement `mark_superseded` in the provider** so #364's retirement - **✅ `mark_superseded` SHIPPED + DEPLOYED + LIVE-VERIFIED (v0.20.15, `be2c577`) — the durable
lands durably (not just recency-evicts). **Wire shape CONFIRMED (worldtree-dev, `bifrost_memory_store.py:293`):** name-recall fix DONE.** Implemented the verb (mirrors reference `_mark_lifecycle`: top-level
op `"mark_superseded"`, args `{"ids": ["<chunk_id>"], "superseded_by": "<new_chunk_id>"}` — `ids` a LIST `superseded=True`+`superseded_by`, non-destructive; unknown-id no-op) + `_is_live` short-circuits on
(WT sends singletons, one call per retired chunk), NO `reason` field. It is the **SOLE** supersession `superseded` (INV-011) so `scan` durably excludes retired chunks; un-deferred in contract + FN spec;
verb #364 uses (atomic_supersede = dream-lane, cap-gated separately; patch_many never for retirement) — TDD 5/5 (+ parity #195); bundled **bifrost 1.1.1→1.1.4** (hasattr backstop: unimplemented verbs → 400
so build JUST `mark_superseded` + advertise it + live re-verify. Retry-storm ROOT-CAUSED WT-side (a not 500/storm). Suite 644 green. **RE-VERIFY (3 name-reassert turns): 3 successful `mark_superseded`
failed retirement-mark wrongly failed the whole promotion run → idle re-plan loop; WT's fix DEGRADES calls, 0 500s, NO storm** (slot-supersession also dedups older positive dups → self-limiting, store
mark-failures to an audited no-op → self-stops on the first post-deploy idle cycle, ETA ~20min from stable at 16); **`026d029e` "has not provided name" DURABLY retired** (superseded, scan-excluded);
2026-07-16T20:30Z, no action our side). **GC the ~9 dup name-positives back to the pre-drive 10-chunk person-prime top-3 = all name-positives, "Name is Vuong" surfaces → **Sindra durably recalls the name**.
state (via delete_many) AFTER the storm stops; then worldtree closes #364.** Once our `mark_superseded` ⚠️ RESIDUAL (WT-side, minor): `cbbc7bdd` "name is currently unknown" NOT retired — WT's legacy lexical
ships, a single name re-assertion self-heals retirement (incl. any residual dupes). bridge matched "has not provided name" but not this phrasing; flagged to worldtree-dev (no readout
- **R39 Phase-2 Arm-2 export** (brokkr-initiated): the 10-chunk contradiction specimen is frozen at impact, below recency window). Skipped heid-bug-hunt (agent-discretion: small reference-mirrored verb,
`r39-frozen-specimen/sindra-10chunk-specimen.db` (gitignored, VACUUM INTO) — survives #364 TDD'd + live-verified — live-drive substitutes for the cold-read gate here). Wire shape was CONFIRMED
reconciliation; export on brokkr's Phase-2 signal. Full R39/#364 arc: 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`. `persistent-memory.d/2026-07-16-wt364-r39-name-recall.md`.
**Open operator-sequenced task (NOT urgent):** adopt the bifrost snapshot-cursor (bifrost-dev **Open operator-sequenced task (NOT urgent):** adopt the bifrost snapshot-cursor (bifrost-dev