Skip to content

[OC-065] Implement persistent accounts and the central handle registry #73

Description

@tcballard

Gate: G1 — text-collaboration account foundation

Product direction: OmaChat uses a central identity/control plane for persistent accounts and globally unique handles, while Nostr relays carry end-to-end encrypted collaboration data. Bluetooth/mesh is not on this critical path.


  • Depends on: OC-010, OC-011.
  • Deliverable: an immutable cryptographic account ID independent of mutable profile data; a separate recovery authority; signed device bindings; normalized globally unique handles; signed, versioned registry receipts; sealed local account/cache state; rollback/equivocation detection; daemon status and account-management surfaces.
  • Acceptance: account and device IDs survive restart; existing identity-v1 records remain readable; handle normalization rejects ambiguous or hostile input; duplicate claims conflict atomically; forged, altered, stale, rolled-back, or account-mismatched receipts fail closed; a previously verified cached record remains explicitly usable offline without claiming freshness; revocation/recovery cannot be performed by the registry alone; panic erasure removes account secrets and cached registry state.
  • Initial slice: local account/recovery roots, stable IDs, signed device/profile binding, sealed persistence, and daemon status. Global uniqueness remains unclaimed until an authoritative registry state machine/adapter returns a verified receipt.
  • Excludes: registry hosting/deployment, relay operation, plaintext messages/files, workspace membership/RBAC/channels, custodial recovery, handle dispute policy, and Bluetooth/mesh.

Maintainer reconciliation — 2026-09-04

Next closure evidence/work: Audit existing registry/daemon claim/lookup/cache integration against each acceptance criterion, particularly rollback/equivocation, offline freshness, recovery/revocation authority and panic. Status inventory understates merged work. Deployment is outside this issue.

Baseline reviewed: main 87c3bcb7d65e3e2ab8ae317694b751f8efe9a8ed. Implementation presence is not a live conformance claim.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions