- #368 (user,character) memory silo test DONE + PASSED live (WT b127): write-side conjunctive {end_user,agent_self} scoping + read-side cross- character isolation both proven end-to-end; betty (throwaway) deleted, Sindra intact. Full record in persistent-memory.d/2026-07-18-368-silo- test-passed.md. Retired the stale "silo test in progress" in-flight blocks. - Two-tier migration: split 152 over-threshold dated entries into persistent-memory.d/ detail files, leaving one-line pointers in the index (startup load ~196KB -> ~53KB; bodies now load on demand). - Tier-3 stores scrubbed clean (memory 0 / affect 0, provider restarted empty); persistent-memory + detail file updated to reflect the scrub.
922 B
[2026-06-18] #17 implemented end-to-end via direct in-session TDD (6 patch bumps v0.17.8→v0.17.13, suite 470 green). Slice order: bind primitive → op-feed → CLI → TUI → web(server) → web(UI). Tests drive the REAL bifrost dispatch via minted JWTs (bifrost.core.dispatch_jwt.mint_dispatch_jwt) — the "test against the shipped lib" posture, not hand-mocked envelopes. Op-feed reads session_id off the dispatch JWT sub claim (the contract open-q, resolved YES at the ASGI layer where the JWT is always present — bifrost.reference_server._dispatch_auth.DispatchContext.session_id = payload["sub"]). bifrost wire facts captured in-code: memory envelope {operation, args}→memory_result(**payload)={success,...}; verbs bare (search/upsert_many/get/get_many/delete_many); affect {operation:"affect.emit"}→{success,stored}; error envelope {code, message}; scopes memory:read|write.