Gate: G1 — Nostr-only product
Planning source: validated implementation plan PR #1
- Depends on: OC-004, OC-010.
- Deliverable: Noise static, Ed25519 signing, separate Nostr device seed, peer fingerprint/ID, per-geohash and
bridge|cell secp256k1 derivation.
- Acceptance: all identity fixtures pass, invalid secp scalars retry exactly, fallback derivation is tested, and regeneration happens only after explicit identity absence.
- Excludes: favorites and QR.
Maintainer reconciliation — 2026-09-04
Next closure evidence/work: Close candidate: attach identity fixtures, invalid-scalar retry/fallback, bridge-domain separation and restart/no-regeneration tests before closing.
Baseline reviewed: main 87c3bcb7d65e3e2ab8ae317694b751f8efe9a8ed. Implementation presence is not a live conformance claim.
Verified closure — 2026-09-04
Checked every deliverable and acceptance criterion on main 87c3bcb7d65e3e2ab8ae317694b751f8efe9a8ed.
- Identity implementation: independent secret roots, Noise static key, Ed25519 signing, fingerprint/peer ID, geohash derivation and separate
bridge|cell domain.
- Identity fixture tests: pinned Swift private/public/npub outputs and signing/key-role checks.
- Inline unit tests prove exact invalid-scalar retry order, fallback only after ten invalid candidates, and bridge domain separation.
- Persistence implementation generates only for
RecordNotFound; decoding/authentication/I/O errors propagate without replacement.
- Persistence regression proves restart-stable identity and failure on tampered ciphertext.
CI job 100951293375 explicitly records these tests passing, plus identity_outbox_and_commands_survive_restart. This is the successful pre-merge CI for #222's merged tree. No fresh local Rust run is claimed.
Closed as implemented within OC-011 scope. Secret Service host qualification, favorites and QR remain separate issues.
Gate: G1 — Nostr-only product
Planning source: validated implementation plan PR #1
bridge|cellsecp256k1 derivation.Maintainer reconciliation — 2026-09-04
Next closure evidence/work: Close candidate: attach identity fixtures, invalid-scalar retry/fallback, bridge-domain separation and restart/no-regeneration tests before closing.
Baseline reviewed: main
87c3bcb7d65e3e2ab8ae317694b751f8efe9a8ed. Implementation presence is not a live conformance claim.Verified closure — 2026-09-04
Checked every deliverable and acceptance criterion on main
87c3bcb7d65e3e2ab8ae317694b751f8efe9a8ed.bridge|celldomain.RecordNotFound; decoding/authentication/I/O errors propagate without replacement.CI job 100951293375 explicitly records these tests passing, plus
identity_outbox_and_commands_survive_restart. This is the successful pre-merge CI for #222's merged tree. No fresh local Rust run is claimed.Closed as implemented within OC-011 scope. Secret Service host qualification, favorites and QR remain separate issues.