Skip to content

id: partition-scoped world routing, names, and admission (from #3397 Phase 2) #3898

Open

Description

@dezren39

World-specific implementation follow-on from the #3397 design (doc/2026-11-01_design_id3397.md, PR #3853), Phase 2 of its phased plan.

Scope: partition-scoped world lookup (jurisdiction, name) with no cross-partition existence oracle; fail-closed admission guards for reads/writes/invites/WebSocket/background/admin operations against the world's stored jurisdiction; participant-list and membership-metadata authorization equal to world reads; shard/coordinator jurisdiction inheritance (creation rejects a different jurisdiction); the explicit guest-grant seam, disabled until Drew settles the guest-membership policy (open question 1 on #3397).

Not this issue: #3400 covers account/user-store routing and object entry guards — this issue is the world-specific routing/admission layer that #3400 does not fully represent (per the #3397 doc, Phase 2 note).

Authority boundary: #3397 is design-only and is not an implementation authorization. Implementation ordering follows the doc: this phase depends on Phase 0 (#3403 provisioning gate evidence via #2285) and Phase 1 (#3399 authoritative jurisdiction records), and on #3400's routing foundation.

Acceptance: negative tests from the #3397 doc's matrix pass for this slice — wrong-jurisdiction read/write/invite uniformly denied with no existence signal; foreign account with no/expired/revoked guest grant denied incl. participant metadata; same-name world in another partition indistinguishable from nonexistent; shard assignment naming a different jurisdiction rejected.

Acceptance criteria

Activity

  1. added
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    source/queue-workerFiled or worked by the queue/worker pilot
    priority/normalOrdinary priority (the default)
    effort/lLarge: multi-day or open-ended; expect staged check-ins
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Nov 1, 2026
  2. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    Intake review

    Related: design code issue #3397 (PR #3853) Phase 2; depends on #3403/#2285 (Phase 0 provisioning gate evidence), #3399 (Phase 1 jurisdiction records), and #3400 (account routing foundation — adjacent, not a substitute).

    Notes: The issue body already carries this slice's acceptance in prose (the #3397 doc's negative-test matrix); the appended section restates it as the canonical checklist. The guest-grant seam ships disabled: the guest-membership policy is open question 1 on code issue #3397, which sits in Drew's lane — nothing in this slice should guess it.

    Risks: The no-existence-oracle requirement is subtle: uniform denial must be indistinguishable across read/write/invite/WebSocket/background/admin paths, including participant metadata — one leaky path defeats the partition boundary.

    Suggested approach: Build after Phase 0/1 land; implement admission as a single fail-closed guard consumed by every operation path, and write the wrong-jurisdiction tests against each path separately.

    — fleet monitor intake enrichment, 2026-11-01 run (protocol §5). Acceptance criteria appended to the body where missing; labels normalized.

  3. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 3, 2026
  4. developing-today commented on Nov 3, 2026

    @developing-today
    Contributor

    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

  5. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  6. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 3, 2026
  7. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done — triaged: still live, implementation BLOCKED on the Phase 0/1 + routing dependency chain (ordering recorded)

  8. added
    status/blockedQueue or user escalation state
    and removed
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    on Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)effort/lLarge: multi-day or open-ended; expect staged check-inskind/enhancementmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)source/queue-workerFiled or worked by the queue/worker pilotstatus/blockedQueue or user escalation statetask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions