Skip to content

feat: implement Epic 2 - SPSP over Nostr#2

Merged
ALLiDoizCode merged 1 commit intomainfrom
epic-2
Feb 6, 2026
Merged

feat: implement Epic 2 - SPSP over Nostr#2
ALLiDoizCode merged 1 commit intomainfrom
epic-2

Conversation

@ALLiDoizCode
Copy link
Copy Markdown
Collaborator

Implements Simple Payment Setup Protocol (SPSP) over Nostr events:

  • Story 2.1: Static SPSP info query (NostrSpspClient.querySpspInfo)
  • Story 2.2: Static SPSP info publishing (NostrSpspServer.publishSpspInfo)
  • Story 2.3: Dynamic SPSP request client (NostrSpspClient.requestSpspInfo)
  • Story 2.4: Dynamic SPSP request handler (NostrSpspServer.handleSpspRequests)

Features:

  • Kind:10047 replaceable events for static SPSP parameters
  • Kind:23194/23195 ephemeral events for dynamic SPSP handshakes
  • NIP-44 encryption for request/response privacy
  • SpspTimeoutError for request timeout handling
  • Comprehensive test coverage (220 tests passing)

Implements Simple Payment Setup Protocol (SPSP) over Nostr events:

- Story 2.1: Static SPSP info query (NostrSpspClient.querySpspInfo)
- Story 2.2: Static SPSP info publishing (NostrSpspServer.publishSpspInfo)
- Story 2.3: Dynamic SPSP request client (NostrSpspClient.requestSpspInfo)
- Story 2.4: Dynamic SPSP request handler (NostrSpspServer.handleSpspRequests)

Features:
- Kind:10047 replaceable events for static SPSP parameters
- Kind:23194/23195 ephemeral events for dynamic SPSP handshakes
- NIP-44 encryption for request/response privacy
- SpspTimeoutError for request timeout handling
- Comprehensive test coverage (220 tests passing)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@ALLiDoizCode ALLiDoizCode merged commit 3df1a83 into main Feb 6, 2026
@ALLiDoizCode ALLiDoizCode deleted the epic-2 branch March 3, 2026 18:55
ALLiDoizCode added a commit that referenced this pull request Mar 28, 2026
Stories 9.11 (Lists & Labels), 9.14 (Media & Files), 9.26 (Git Collaboration),
9.33 (Relay Discovery) — parallel pipeline through Steps 1-5:

- 4 story specs created and validated (43 issues fixed in validation)
- 667 ATDD tests written (83 + 216 + 137 + 231)
- 20 skill files implemented across 4 skill directories
- Code Review #1 complete: 45 issues found and fixed (0 critical for 9.11/9.14/9.33;
  2 critical remaining for 9.26 — missing per-kind Level 3 resource files)

Known gap: 9.26 git-collaboration AC#3 requires 12 per-kind resource files
(kind:30617, 30618, 1617, 1618, 1619, 1621, 1622, 1630-1633, 5094).
Currently consolidated in nip-spec.md. To be addressed in next session.

Remaining pipeline steps: Review #2, #3, NFR, Traceability, final commit.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ALLiDoizCode added a commit that referenced this pull request Mar 28, 2026
…files

9.26 gap resolved: 9 per-kind Level 3 resource files created for
git-collaboration (NIP-34), covering all event kinds from kind:30617
through kind:5094 with TOON write/read models and publishEvent() examples.

Review #2 (per-skill): eval assertion completeness, anti-patterns,
cross-skill references, HealthResponse accuracy, kind:1063 fields.
Review #3 (cross-skill): section ordering, reciprocal cross-refs,
eval JSON validation across all 4 skills.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ALLiDoizCode added a commit that referenced this pull request Mar 30, 2026
Implements push-08-close.ts seed script that publishes kind:1632 (Closed)
status event for Issue #2, verifies PR #1 already has kind:1631, and returns
Push08State. Single-client (Alice only), simplest push script in Epic 10.
29 active tests, 100% AC coverage, 3 clean code review passes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ALLiDoizCode added a commit that referenced this pull request Apr 20, 2026
Ran docker build + `./scripts/sdk-e2e-infra.sh up` against the image
produced by Dockerfile.sdk-e2e. Findings:

- `docker build` now completes (480MB image) — review passes #1 C2 +
  #2 M1 fixes unblocked the build.
- Runtime AC-11 FAILS: peer1 crash-loops on
  `ERR_MODULE_NOT_FOUND: @toon-protocol/pet-dvm` from
  `docker/src/entrypoint-sdk.ts:51` static top-level ESM import.
  `--external:@toon-protocol/pet-dvm` at build time means Node must
  resolve it from `/app/node_modules/` at runtime, but pet-dvm is
  neither built nor staged there (pnpm build filter excludes it
  because memvid-node has no Linux .node artifact).
- AC-12 PASSES: `down` leaves 0 containers.
- AC-13 not attempted (peer1 never healthy).

Root cause of runtime failure is the same upstream defect documented
pre-pipeline; the build-time fix masked it but did not resolve it.
AC-10(a) escape clause still in effect. Story Status remains
`blocked` until the follow-up story builds the memvid-node Linux
artifact.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant