Repository navigation
Description
Implementation tracking for the hosted provisioning + SSO→ID binding spec (#2258).
Spec: pkgs/id/doc/2026-10-30T22-45-00Z_design_hosted_provisioning_sso_binding.md (in the #2258 spec PR). Source investigation: #2045; platform fit: #2044.
Gate: slices are sequenced after the #2046 synthesis accepts the spec's §8 open parameters (tier numbers, rebind waiting period, encryption default, Shape-C attribution). Do not implement against unaccepted parameters.
Slices (from the spec's §9):
- (1) Account + binding records and the binding ceremony (spec §1, §3) — registry keyed on Google
sub, challenge ceremony in-browser + own-node variants, failure/retry semantics as specified - (2) Delayed-rebind protocol (spec §4) — request, notification, old-key cancel/approve, published rebind record
- (3) Lazy provisioning + metering + budget ceilings (spec §5) —
idFromName(binding_id)DO, schema bootstrap, per-DO metering, read-only + export prompt at cap - (4) Export/import (spec §6) — signed-object export with manifest, import verification incl. the
unkeyed_exportpath - Client-side-encryption option (spec §7) as a flag through all four slices
Each slice lands as its own PR referencing this issue and the spec section it implements. This issue delivers nothing by itself — it is the tracked implementation link for the #2258 spec (NOTHING SITS SILENTLY: a spec without an implementation link is not finished work).
Program: ID platform expansion, epic #2056. Parent spec: #2258. Synthesis gate: #2046.
Acceptance criteria
- No slice is implemented against unaccepted spec parameters: the id: design: ID serverless edition v1 (Cloudflare Workers) #2046 synthesis acceptance of spec id: design: hosted provisioning + SSO→ID binding spec — account/binding records, challenge ceremony, delayed rebind, metering, export (from #2045) #2258 §8 parameters is recorded before slice work starts.
- Each §9 slice lands as its own PR referencing this tracker, with the spec section it implements named.
- The binding ceremony behaves as specified for both in-browser and own-node variants, including the failure/retry semantics in spec §1/§3.
Activity
dezren39 commentedon Oct 31, 2026
Intake review
Related: spec #2258, source investigations #2045/#2044, gate #2046. Risks: implementing against unaccepted §8 parameters (tier numbers, rebind waiting period, encryption default, Shape-C attribution) would bake in guesses — the gate is the point of this tracker. Suggested approach: wait for the #2046 synthesis acceptance, then work the §9 slices in order, one PR per slice.
— Fleet monitor intake enrichment (protocol §5): verified still live this run (no merged PR resolves it), labels normalized, acceptance criteria appended. Marked
meta/enriched.id: hosted account + ID binding ceremony (spec §§1,3) (#3808)
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 · picked up
dezren39 commentedon Nov 3, 2026
🤖 Agent note · triage findings (task 7988, lane code-h)
1c1aa4a79Verdict: the gate this tracker waits on has CLEARED; slices 1–2 are merged, slices 3–4 are tracked and queued. The
status/waiting-dependencylabel is stale and is being removed in this pass.pkgs/id/src/hosted_binding.rs:119-122,REBIND_WAITING_PERIOD_SECS = 30 days, "the id: design: ID serverless edition v1 (Cloudflare Workers) #2046 ruling").This tracker stays open until #3810/#3811 land; no new follow-up is enqueued from this triage — the remaining slices already have issues and queue tasks.
dezren39 commentedon Nov 3, 2026
🤖 Agent note · done
status/waiting-dependencyremoved; tracker stays open until the slices land.feat(id): hosted data-plane scaffold — binding-backed per-user Durabl…