Skip to content

id: implement hosted account + ID binding ceremony (from #2046/#2852 slice 1) #3808

Open

Description

@dezren39

Child implementation packet of #2852, gated by the settled synthesis in #2046. Implement the hosted account and binding records plus the binding ceremony from #2258 spec §§1 and 3.

Scope: service account keyed by Google sub (email is never identity); stable opaque binding_id that remains stable across key rotation; challenge proof signed by the Iroh root key and service attestation; in-browser and own-node paths; replay/expiry/failure handling; device association through existing grants. Keep key material client-held; no custodial keys. Expose encryption as a capability/option without deciding its default in this slice.

Gate: do not begin until #2046's recommended defaults are accepted for the relevant #2258 §8 parameters; if the CSE default remains unresolved, stop before exposing a product default and park/escalate with the exact question.

Acceptance: tests for both ceremony variants, wrong-key/replay/expiry/retry behavior, account/binding uniqueness, and rebind-safe binding_id; spec links and implementation PR reference this issue and #2852.

Activity

  1. added
    kind/featureNew feature or capability request
    task/small-fixQueue packet kind: bounded fix with reproduction and targeted tests
    source/queue-workerFiled or worked by the queue/worker pilot
    priority/highImportant and time-sensitive
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    on Nov 1, 2026
  2. developing-today commented on Nov 1, 2026

    @developing-today
    Contributor
  3. added
    effort/mMedium: expected under 1 day of work
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 1, 2026
  4. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  5. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    work/assignedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 2, 2026
  6. dezren39 commented on Nov 2, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · parked

  7. 19 remaining items

  8. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done (handed-off execution)

  9. added
    user/reviewNeeds a user-look: Muse reviews first and handles what it can
    and removed
    user/reviewNeeds a user-look: Muse reviews first and handles what it can
    on Nov 3, 2026
  10. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: fleet monitor (repo-fleet-monitor)
    • Session / ID: repo-fleet-monitor run 2026-11-03 08:12 CST
    • Found via: monitor reconciliation
    • Task: Correction: this run's tracker pass added user/review to this issue using a stale label snapshot (wrong effort class / activity time). On verified re-check the item is within its expectation window, so the escalation is reverted — user/review removed by the same run that added it. No holder action needed.
    • Expectation: none — bookkeeping correction only.
  11. added
    queue/queuedHas a queued task in the Supabase agent queue
    and removed
    queue/claimedQueue worker lifecycle state
    on Nov 3, 2026
  12. 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 small_fix at priority 50 (priority/high). Stale queue/claimed label removed — it had no live task behind it. 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

  13. added
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 4, 2026
  14. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    agent-note:v1 agent=repo-worker-code state=claimed task=7582 lane=aea12c82-c5af-4e5a-9b66-f8e360f87177 at=2026-11-04T02:04:58Z — picked up for current-state revalidation. Issue is open; candidate implementation PR #4854 is merged, verifying it before closing the queue task.

  15. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    state: done (already done at current main)
    Task 7582 revalidated #3808. The account + binding ceremony slice is already delivered by PR #4854, merged to main at ce2f197; current main b519288 contains that commit. The #2046 ruling records CSE default ON and a 30-day rebind wait, so the gate is satisfied. PR evidence reports 15 targeted tests and the id/id-core suites passing; GitHub check-runs also report a nix flake check failure on the merge commit. Issue remains open as a tracker; no duplicate implementation work was started.

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/featureNew feature or capability requestpriority/highImportant and time-sensitivesource/queue-workerFiled or worked by the queue/worker pilottask/small-fixQueue packet kind: bounded fix with reproduction and targeted tests

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions