Repository navigation
Description
Summary
Follow-on design ticket from #5672 — its decomposition sketch names this as a separate design, and the parent's acceptance requires these tickets to be filed and linked. Filed in the 2026-11-04 gap pass (WS-F) so the design work exists and can be prioritised on its own merits; implementation timing is a separate decision, possibly months out.
What this design must settle
The IndexedDB adapter under browser constraints: origin scoping, storage limits, and what live-vs-materialized means in a browser store.
Context from the parent
The parent design fixes the selective-sharing grants model, the existence-privacy rule, and the foreign data-store adapter contract. The parent issue carries the surrounding decisions this ticket must not re-decide; where this ticket's answer would change a parent decision, record that explicitly rather than silently forking it.
Decision record expected
Close this design with a recorded decision (on this issue or in a doc/ record linked from it): the chosen shape, the alternatives rejected and why, and the invariants implementation must hold. If the design splits further, file the splits and link them here rather than growing this issue.
Relations
Parent: #5672. Programme: epic #2056. Filed by WS-F (2026-11-04 ID design gap & expansion pass).
Activity
developing-today commentedon Nov 5, 2026
CODE-1487
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
10 remaining items
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 5, 2026
Triage findings (verified fresh 2026-11-05)
8ad60f1ef2de3ec3d14bc2374939b5bd6849486b(main, equal toorigin/main).Scope: settle the browser-specific adapter shape: origin-scoped addressing and selected object stores; live versus materialized access (live access requires the tab/extension to be alive); structured-clone to ID type mapping and unsupported types; browser storage limits/eviction; and how the choice fits the parent's adapter contract. Keep #5672's grants and existence-privacy decisions fixed; record any proposed change against the parent rather than silently revising them.
Ordering / blocker: #5803 (general foreign-store adapter contract) remains OPEN. Browser-specific discovery can proceed in parallel, but finalize shared addressing, type-mapping, live/materialized, and credential rules in coordination with #5803 and conform to its settled contract. If this design would change a parent decision, pause that part and record the conflict on #5672. No implementation should be queued from this triage; keep this design ticket parked until design work is prioritized.
Triage outcome: keep #5804 OPEN and scoped as the IndexedDB-specific design follow-on to #5672; no closure or implementation handoff is warranted yet.