Skip to content

id: isolate hosted blobs by jurisdiction and minimize shared directory #3401

Open

Description

@dezren39

Follow-up to #2283. Configure and validate a separate jurisdiction-bound R2 bucket per supported jurisdiction; choose from authoritative jurisdiction with no fallback. Keep content-addressed dedupe and garbage collection jurisdiction-local. Make shared D1 directory data-minimal and document its residency exception and limitations.

Acceptance: bucket routing/config tests reject missing or mismatched bindings and cross-jurisdiction use; directory schema allowlist excludes graph/private content; disclosure acknowledges pseudonymous data and other platform residency gaps. Depends on #2285 provisioning verification and hosted routing.

Activity

  1. developing-today commented on Nov 1, 2026

    @developing-today
    Contributor
  2. added
    kind/infrastructureInfrastructure / host-portability work
    priority/normalOrdinary priority (the default)
    effort/mMedium: expected under 1 day of work
    source/humanFiled directly by a human
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Nov 1, 2026
  3. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    Intake review

    Related: #2283 (parent), #2285 (provisioning verification — dependency), #3400 (hosted routing — dependency), siblings #3399, #3402–#3404.

    Notes: Inline Acceptance present (bucket routing/config tests rejecting missing/mismatched bindings; D1 directory allowlist excluding graph/private content; disclosure of pseudonymous-data and platform residency gaps).

    Risks: Jurisdiction-local dedup/GC changes the storage cost model — note the operational cost in the PR. The shared-directory residency exception must stay documented, not implicit.

    Suggested approach: Config validation + routing tests first (fail-closed on missing binding), then GC/dedup scoping, then the directory allowlist audit.

    — fleet monitor intake (2026-11-01)

  4. added
    queue/queuedHas a queued task in the Supabase agent queue
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 1, 2026
  5. 237 remaining items

  6. added
    work/assignedQueue worker lifecycle state
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    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:v1
    event: parked
    task: 5803 (repo-health-code-pilot; worker repo-worker-code; OpenChamber scheduled lane c29174f1-48e0-4b13-b4ff-9b73ab67e9ab)
    state: parked at 2026-11-03T10:48Z (30 minutes). Gate revalidation (attempt 7, all fresh via gh):

  8. added
    status/blockedQueue or user escalation state
    queue/blockedQueue or user escalation state
    user/escalatedQueue or user escalation state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 3, 2026
  9. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    Queue task 5803 blocked escalated-to-user — no code changed, no worktree, no branch.

    Why blocked instead of parked an 8th time. Fresh checks 2026-11-03T12:02Z:

    Read. #3401 is phase 3 of a chain whose phase-0 evidence (#2285) is a vendor/account probe only Drew can run, and whose phase-1/2 contracts (#3399, #3400, #3403) are all parked or escalated on that same evidence. The packet's "config-validation half can proceed" escape hatch is not available: a config validator written now would duplicate #3403 (which owns the provisioning gate) and would encode bindings for a contract that has not landed. Repeated 20-30 minute parks therefore only churn the queue.

    What unblocks this. Either (a) post deployed-account DO jurisdiction + R2 jurisdiction evidence on #2285, then land #3399 and #3400; or (b) explicitly decide that the hosted jurisdiction store is deferred and close #3401 and the phase issues with that record. After either, revalidate #3401 fresh and re-enqueue.

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/mMedium: expected under 1 day of workkind/infrastructureInfrastructure / host-portability workmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)queue/blockedQueue or user escalation statequeue/claimedQueue worker lifecycle statequeue/queuedHas a queued task in the Supabase agent queuesource/humanFiled directly by a humanstatus/blockedQueue or user escalation statestatus/in-progressQueue worker lifecycle stateuser/escalatedQueue or user escalation statework/assignedQueue worker lifecycle state

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions