pin: bump Worldtree spec to f1b59f8 (v0.35.16) — cold recall closes end-to-end

Worldtree shipped its half of the union-recall fix: #297 (client-side
per-scope-value union recall) + #298/#299 (adopt the bifrost v0.6
scope_any/scope_all wire, v0.35.16). It now emits scope_any on the recall
path, pairing with our v0.17.6 provider — cold cross-session recall is
closed end-to-end (pending a live re-smoke against a v0.35.16 instance).

Re-vendored conversation-api-spec.md + conversation_api.contract.md;
285-commit catch-up (v0.29.0 -> v0.35.16). Diff-reviewed: no client-facing
breaking changes for our consumer.

- #211 agent-slug rename (saga->echo, actor->mask) — slugs only, we pass --agent
- #245 end_user_id persistence + memory-scope resolver (additive)
- #187/#188/#219 Tier-3 define/PATCH policy (additive); error codes stable
- bifrost binding field + ephemeral_does_not_accept_bifrost 422 now documented (#17 surface)
- docs: SPEC-PIN.md pin table + history; bifrost-self-test recall status; persistent-memory

No package version bump (docs/pin-only, no ratatoskr code change).
This commit is contained in:
vh
2026-06-17 08:24:27 -07:00
parent 96d61a4bb1
commit 4eee7c89b2
6 changed files with 487 additions and 52 deletions
+25 -9
View File
@@ -43,7 +43,22 @@ model output is untrusted); upstream API key stays server-side (INV-003).
_As of 2026-06-16:_
**LATEST (2026-06-16 PM) — BIFROST REPINNED 0.7.0→0.8.0 (wire v0.5→v0.6).** The
**LATEST (2026-06-17) — COLD RECALL CLOSED END-TO-END + WORLDTREE SPEC REPINNED.**
Worldtree shipped its half: v0.35.16 adopts the bifrost v0.6 wire and emits
`scope_any`/`scope_all` on recall (#297 client-side per-scope-value union recall +
#298/#299 bifrost-v0.6 adoption). With our v0.17.6 provider, cold cross-session recall
is now CLOSED end-to-end. **Remaining: a live re-smoke against a personal instance on
v0.35.16** (the running smoke target was v0.35.2/.3 — needs infra-ops to update it).
Worldtree spec pin bumped `562001a`/v0.29.0 → `f1b59f8`/v0.35.16 (`docs/SPEC-PIN.md` +
`worldtree-spec-rev`; 285-commit catch-up). Client-facing deltas reviewed, NONE break
our consumer: #211 agent-slug rename (saga→echo, actor→mask — slugs only), #245
`end_user_id` persistence + memory-scope resolver, #187/#188/#219 Tier-3 define/PATCH
policy (additive); the `bifrost` binding field + `ephemeral_does_not_accept_bifrost` 422
are now in-tree (the #17 surface). No ratatoskr code change for the spec bump; shipped
as a `pin:` commit (no package bump — docs/pin only). The provider half shipped earlier
as v0.17.6 (`96d61a4`, tag v0.17.6).
**(2026-06-16 PM) — BIFROST REPINNED 0.7.0→0.8.0 (wire v0.5→v0.6).** The
memory `search` scope filter was split into `scope_all` (AND/intersection) +
`scope_any` (OR/union over a LIST of conjunctive scopes) — bifrost #11, the canonical
fix for the #295/#297 silent-zero AND foot-gun. Our store + contract (v1.2) + tests
@@ -52,12 +67,11 @@ reimplemented to parity with the v0.6 reference `_matches_scope`/`_validate_scop
test + the parity-vs-reference test through the real 0.8.0 `dispatch_memory_call`.
Memory provider BOUNCED onto 0.8.0 (`:8391`, fresh empty `memory.db` — the prior
5-chunk #296 corpus was WIPED, operator confirmed "nothing of value", SUPERSEDES the
"KEEP PINNED" note below). **End-to-end cold recall now waits only on Worldtree
EMITTING `scope_any` on its recall path (#297, upstream).** Affect plane untouched
(split is memory-only); affect provider still on its 0.7.0-loaded process (bounce
optional — affect wire unchanged at 0.8.0). NOT yet committed; patch bump v0.17.6
pending operator commit approval. **#17 contract carries stale `scope_filter` /
`_scope_matches`-AND references — fix when #17 TDD starts.**
"KEEP PINNED" note below). Shipped as v0.17.6 (`96d61a4`, tag v0.17.6); the #17
contract's stale `scope_filter`/`_scope_matches`-AND references were synced in the same
commit. Affect plane untouched (split is memory-only); affect provider still on its
0.7.0-loaded process (bounce optional — affect wire unchanged at 0.8.0). Cold-recall
status SUPERSEDED by the 2026-06-17 block above (now CLOSED end-to-end).
**Ratatoskr now has a SECOND identity: the v1 Bifrost Tier-3 consumer** — the
durable persistence provider Worldtree writes Tier-3 agent affect/persona +
@@ -140,8 +154,8 @@ HS256 = the API-key STRING utf-8-encoded; rotate via infra-ops.
operator's call. `graphify-out/GRAPH_REPORT.md` still runs dirty
(auto-regenerated artifact, not chased).
**Still standing from before:** Worldtree spec pin v0.29.0 (`562001a`) for the
conversation-API/TUI surface (untouched by the Bifrost work). Codex-first pilot
**Still standing from before:** Worldtree spec pin now v0.35.16 (`f1b59f8`) for the
conversation-API/TUI surface (bumped 2026-06-17 from v0.29.0/`562001a`). Codex-first pilot
still dormant (no codex session spun up — see the 2026-05-29 decision). Open
issues: #10 (subject migration, deferred), #11 (AdminEvents pane, deferred).
@@ -211,6 +225,8 @@ decision. Captures rationale that won't be obvious from code alone.
- `[2026-06-16]` **Repinned bifrost 0.7.0→0.8.0 + reimplemented memory `search` to the v0.6 scope split (operator-directed).** `scope_filter` → `scope_all` (AND) + `scope_any` (OR/union over a list of conjunctive scopes), bifrost #11 — the canonical resolution of the #295/#297 silent-zero. **SUPERSEDES the "Provider stores byte-faithful to AND reference / Do NOT flip `_scope_matches` to OR" entry above**: the reference itself now does OR via `scope_any` (a NEW field — `scope_all` keeps the old AND semantics; this is an additive split, not a flip of the AND predicate). Store / contract (v1.2) / tests at parity with the v0.6 reference; provider bounced onto 0.8.0 with a wiped DB (operator: "nothing of value"). Cold recall now gated only on Worldtree emitting `scope_any` (#297). **#17's contract has stale `scope_filter`/`_scope_matches`-AND references (its `assumptions`, INV-004, and the op-feed `search → req {scope_filter}` summary shape) — update those to `scope_all`/`scope_any` when #17 TDD starts; INV-004's intent (observe must not alter scope semantics) still holds.**
- `[2026-06-17]` **Worldtree spec pin bumped v0.29.0→v0.35.16 (`562001a`→`f1b59f8`); cold recall CLOSED end-to-end.** Worldtree shipped #297 (client-side per-scope-value union recall) + #298/#299 (adopt the bifrost v0.6 `scope_any`/`scope_all` wire) — it now emits `scope_any` on recall, the upstream half that pairs with our v0.17.6 provider. Re-vendored `conversation-api-spec.md` + `conversation_api.contract.md`; diff-reviewed the 285-commit catch-up — no client-breaking changes (#211 agent-slug rename saga→echo/actor→mask is slugs-only; #245 end_user_id+memory-scope; #187/#188/#219 Tier-3 define/PATCH additive; error codes stable). Shipped as a `pin:` commit, NO package bump (docs/pin-only, no ratatoskr code; per SemVer SKIP for docs-only). **Remaining proof: a live cold-recall re-smoke against a personal instance on v0.35.16** — the smoke target ran v0.35.2/.3, needs infra-ops to update it.
_For per-issue TDD implementation notes, Volva findings, and contract amendments, see the git log — every per-issue commit carries a structured message capturing the trail._
## Tried and abandoned