diff --git a/persistent-memory.d/2026-07-16-bifrost-cursor-conformance.md b/persistent-memory.d/2026-07-16-bifrost-cursor-conformance.md index 0dd10cd..ae9e913 100644 --- a/persistent-memory.d/2026-07-16-bifrost-cursor-conformance.md +++ b/persistent-memory.d/2026-07-16-bifrost-cursor-conformance.md @@ -28,7 +28,10 @@ it's only multi-page continuation that's non-conformant. Our contract INV-010 cu marks the offset cursor **v1-provisional / KNOWN DEVIATION** (commit `8199774`). TODO when sequenced: -1. Bump pin bifrost `1.1.1 → 1.1.3`. +1. Bump pin bifrost `1.1.1 → 1.1.4` (1.1.4 supersedes 1.1.3: adds the hasattr-gate backstop for the + maintenance verbs — mark_superseded/mark_invalid/patch_many/delete_many/upsert_edges/get_edges_for + degrade to `memory.unsupported_capability` 400 not AttributeError/500 — on top of 1.1.3's scan/cursor + conformance harness. One bump gets both). 2. Replace the offset cursor with the reference snapshot semantics (frozen id-list per opaque token + `ScanCursorExpired` → 410). 3. Run `run_all(store_factory=..., include_optional=True)` against our SQLite store — diff --git a/persistent-memory.md b/persistent-memory.md index ac88cd3..f421d3c 100644 --- a/persistent-memory.md +++ b/persistent-memory.md @@ -92,7 +92,10 @@ person-prime is already conformant, so nothing shipped is broken. Details + TODO **Substrate / environment (current):** branch `main`, HEAD is the person-prime tip (v0.20.11→v0.20.14 all committed; **NOT pushed** — push is the operator's call); origin `git@gitea.phasefinal.com:vh/ratatoskr.git`. -bifrost `==1.1.1` / wire v0.7 (→ 1.1.3 on cursor adoption); Worldtree openapi vendored 2.3.0; suite +bifrost `==1.1.1` / wire v0.7 (**next bump target = `1.1.4`**: hasattr-gate backstop for the maintenance +verbs [degrade to 400 not 500/retry-storm, bifrost-dev 2026-07-16] + the 1.1.3 scan/cursor conformance +harness; pin as part of the next provider-maintenance batch — mark_superseded / cursor adoption); +Worldtree openapi vendored 2.3.0; suite **639 green**. Personal WT on **b79** (client-side live-only + additive `lifecycle_state` scan arg, which our INV-009 accept-and-ignores). The combined **:8392** provider (memory+affect) + **:8765** web are THE surfaces, run as dev-box BACKGROUND SHELLS — restart via `scratchpad/relaunch_by_pid.py `