Repository navigation
Closed
Labels
app/idPackage/app: id (pkgs/ or apps/ in this repo)Package/app: id (pkgs/ or apps/ in this repo)effort/lLarge: multi-day or open-ended; expect staged check-insLarge: multi-day or open-ended; expect staged check-inskind/infrastructureInfrastructure / host-portability workInfrastructure / host-portability workmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)Ordinary priority (the default)source/humanFiled directly by a humanFiled directly by a humantask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this item
Description
Follow-up to #2284; coordinate with #2283 and #2059. Design fail-closed jurisdiction-partitioned hosted worlds: authoritative jurisdiction-scoped identity and name resolution, admission for reads/writes/invites including participant-list metadata, account migration and world lifecycle; matching R2 bucket ownership, authorization, jurisdiction-local dedup, reference-safe deletion and no cross-boundary fetch fallback. Define negative tests for mismatched or missing jurisdiction, names, shards and blob reads. Include operational costs and deployment prerequisites. This is a design request, not an implementation authorization.
Acceptance criteria
- A design document exists (linked from this issue) covering: jurisdiction-scoped identity and name resolution; admission rules for reads/writes/invites including participant-list metadata; account migration and world lifecycle; R2 bucket ownership, authorization, jurisdiction-local dedup, and reference-safe deletion with no cross-boundary fetch fallback.
- Negative tests are defined for mismatched or missing jurisdiction, names, shards, and blob reads.
- Operational costs and deployment prerequisites are stated.
- The design makes no implementation authorization claim; follow-up implementation issues are filed or linked before the design is considered landed.
Metadata
Metadata
Assignees
Labels
app/idPackage/app: id (pkgs/ or apps/ in this repo)Package/app: id (pkgs/ or apps/ in this repo)effort/lLarge: multi-day or open-ended; expect staged check-insLarge: multi-day or open-ended; expect staged check-inskind/infrastructureInfrastructure / host-portability workInfrastructure / host-portability workmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)Ordinary priority (the default)source/humanFiled directly by a humanFiled directly by a humantask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this item
Activity
developing-today commentedon Nov 1, 2026
CODE-1296
dezren39 commentedon Nov 1, 2026
Intake review
Related: #2284 (origin), #2283 (sibling design — directory/jurisdiction), #2059; implementation children already filed as #3399–#3404.
Notes: Design-only request, explicitly not an implementation authorization. Scope is large (identity resolution, admission, migration, R2 ownership/dedup/deletion) — effort/l for the design itself.
Risks: Overlap with the #2283 design doc is the main hazard; the two designs must agree on jurisdiction representation before #3399/#3400 implementation starts.
Suggested approach: Produce the design doc against the #2283 branch conventions, define the negative-test matrix early, and link the doc back here when posted.
— fleet monitor intake (2026-11-01)
dezren39 commentedon Nov 1, 2026
agent-note:v1 — task 5749 design triage record (lane A shift, 2026-11-01). Decision-ready record for jurisdiction-partitioned hosted worlds + world blobs. This issue is explicitly a design request, not an implementation authorization — this record respects that boundary throughout.
Grounding (verified today)
pkgs/idtoday. World blobs are iroh-blobs P2P stores (pkgs/id/src/world_store.rs—iroh_blobsStore, MemStore in tests); there is no R2-backed hosted blob store and no jurisdiction concept in the hosting path. This design is greenfield, constrained by two open siblings:The decision
The partition model for hosted worlds and their blobs: what a jurisdiction partition binds (identity, names, admission, buckets), what happens at its boundary (nothing crosses), and how worlds/accounts live and die inside one.
Recommendation — the v1 design positions for the doc to formalize
Costs / prerequisites the doc must state
Per-partition R2 buckets + DO namespaces (fixed per-partition infra cost even at zero users); a jurisdiction value on account and world records (depends on #2283's signup field landing); partition-aware deployment config (one deployment unit per partition or partition-scoped bindings); audit/logging partitioned the same way (logs are residency-bearing too).
Phasing
doc/formalizing decisions 1–7 + the negative-test catalogue + costs/prerequisites, and — per this issue's acceptance — file the follow-up implementation issues FROM the doc, linked here. Implementation itself is NOT authorized by this issue; those issues carry the design's authority boundary in their text.Question for Drew (explicit, non-blocking for the doc)
Which jurisdictions are real for v1 — is this design exercised by an actual second-jurisdiction deployment on the horizon, or is it partition-readiness (model correct, one partition deployed)? Recommendation: design for N partitions as data, deploy ONE until a legal/user requirement names the second; the doc proceeds on that basis and flags where a real second deployment would change operational costs. The doc packet does not wait for the answer; it records the ruling if one lands.
17 remaining items
developing-today commentedon Nov 3, 2026
agent-note:v1
state: triaged (coverage pass)
Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 40 (priority/normal). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
Found via: coverage pass 2026-11-03
dezren39 commentedon Nov 3, 2026
🤖 Agent note · done
user/reviewlabel asked for a person to review this artifact; per the fleet rule that person is the worker first — I reviewed it against the acceptance criteria, below.)Evidence (verified fresh 2026-11-03)
doc/2026-11-01_design_id3397.md(26,780 bytes) on main, landed by PR design(id): #3397 partitioned hosted worlds #3853 — state MERGED, merged 2026-11-01T18:00:58Z, merge commit 33aefa7.The design work was completed 2026-11-01 by task 5822; this issue simply never got closed. Closing now as completed — not for age, on its merits: every acceptance box is met. Coordination items stay open on their own issues: issue #2283 (OPEN, sibling design) and the implementation children above.