Skip to content

id: design: 10 security codes recovery (custody variant c) (from #5684) #5888

Open

Description

@dezren39

Summary

Follow-on design ticket from #5684 — its decomposition sketch names this as a separate design, and the parent's acceptance requires these tickets to be filed and linked. Filed in the 2026-11-04 gap pass (WS-F) so the design work exists and can be prioritised on its own merits; implementation timing is a separate decision, possibly months out.

What this design must settle

The code model, thresholds, regeneration, and the unrecoverable-state UX — stated plainly, per the parent design's rule.

Context from the parent

The parent design — Drew-ruled keen and simplicity-first — fixes the key-custody variants, security-code recovery, and pseudo-login delegation for ID identity. The parent issue carries the surrounding decisions this ticket must not re-decide; where this ticket's answer would change a parent decision, record that explicitly rather than silently forking it.

Decision record expected

Close this design with a recorded decision (on this issue or in a doc/ record linked from it): the chosen shape, the alternatives rejected and why, and the invariants implementation must hold. If the design splits further, file the splits and link them here rather than growing this issue.

Relations

Parent: #5684. Programme: epic #2056. Filed by WS-F (2026-11-04 ID design gap & expansion pass).

Activity

  1. added
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    on Nov 5, 2026
  2. developing-today commented on Nov 5, 2026

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

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  5. 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 5, 2026
  6. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · triage complete

    • Agent: queue worker (repo-worker-code), lane code-j
    • Session / ID: task 10290
    • Found via: queue claim (coverage-audit requeue)

    Triage of issue #5888 at current main (verified fresh 2026-11-05):

    Ordering / dependencies (the substantive triage finding):

    1. id: design: native ID creation & setup ceremony (from #5684) #5884 (setup ceremony) interleaves with this ticket: recovery codes are generated in the ceremony, so code format/count decisions here and ceremony steps there must be designed together, not sequentially in ignorance of each other.
    2. id: design: identity management UX (from #5684) #5890 (identity management UX) owns the general identity UX surface; id: design: 10 security codes recovery (custody variant c) (from #5684) #5888's named scope includes the unrecoverable-state UX specifically — that slice belongs here (it is a security-state communication, and the parent rule requires it stated plainly), with id: design: identity management UX (from #5684) #5890 consuming it rather than redesigning it.
    3. The custody variants id: design: service-held keys (custody variant a) (from #5684) #5886/id: design: user-held keys (custody variant b) (from #5684) #5887/id: design: pseudo-login identities & scoped do-as delegation (variant d) (from #5684) #5889 are parallel, not prerequisites: recovery codes are variant c in the parent's taxonomy and the design here stands on the parent ruling alone. id: design: keyless-custody login feasibility (investigation) (from #5684) #5885 (keyless feasibility) could obsolete parts of all variants if it lands a positive result — worth a check before this design is finalised, not a reason to wait.

    Scope as filed is complete and well-bounded: code model (format, entropy, storage form), thresholds (how many of 10 required), regeneration ( cadence, invalidation of prior sets), and the unrecoverable-state UX stated plainly. No splits are needed at triage time.

    Blockers recorded: none hard, and no Drew decision outstanding — the governing ruling is already on parent #5684. Issue #5888 stays open as the design ticket (programme epic #2056); implementation timing is a separate decision per the filing note.

  7. added
    status/triagedTriaged and routed (see agent note)
    and removed
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    on Nov 5, 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)status/triagedTriaged and routed (see agent note)task/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