issue: complete phase 0 research on query response patterns

This commit is contained in:
DanConwayDev
2026-01-15 11:05:58 +00:00
parent 1b7ffec2a2
commit ee72c0d691
@@ -446,3 +446,27 @@ The current phased roadmap above is **SUPERSEDED** pending proper planning:
- Deliverable: `docs/research/nip-86-implementation-options.md` committed
- Next: Phase 0 Track B (nostr-relay-builder user storage events) - deferred for now
- Ready to proceed with Phase 1 implementation
### 2026-01-15 [Session 11:05]
- **Critical architectural decision:** Identified gap in design - NIP-86 is for actions, not queries
- Researched how to return sensitive data to authenticated users (admins and regular users)
- Launched 3 parallel research subagents:
1. NIP-86 query response patterns in spec and rust-nostr
2. Pyramid relay admin patterns (real-world implementation)
3. Feasibility of pyramid-style approach with rust-nostr
- Key findings from research:
- ✅ NIP-86 spec uses HTTP POST/response (NOT Nostr events for query results)
- ✅ Pyramid uses ephemeral events to specific WebSocket connections for queries
- ❌ nostr-relay-builder does NOT support connection-specific messaging
- ❌ Pyramid approach requires forking nostr-relay-builder or custom WebSocket handler
- **Decision: Use HTTP-based NIP-86 for all queries and actions**
- Queries: HTTP GET/POST with NIP-98 auth → JSON response
- Actions: HTTP POST with NIP-98 auth → JSON response
- Both admin and user queries use same pattern
- Simpler, standard, no framework modifications needed
- Deliverables committed:
- `docs/research/nip-86-query-responses.md` - NIP-86 spec analysis
- `docs/research/pyramid-admin-patterns.md` - Pyramid implementation study
- `docs/research/pyramid-style-queries-design.md` - Feasibility analysis for rust-nostr
- **Next:** Update strategy document to reflect HTTP-based approach for queries
- Phase 0 research complete, ready to finalize architecture and proceed to Phase 1