diff options
| author | Your Name <you@example.com> | 2026-05-22 03:48:46 +0530 |
|---|---|---|
| committer | Your Name <you@example.com> | 2026-05-22 03:48:46 +0530 |
| commit | ed06f7eeab28c1fa6242c4ea6c3b9c933661fc06 (patch) | |
| tree | 96230dd069102688318f73b60b8322255ea30cad /PLAN_remaining_tests.md | |
| parent | 7009d2e0ac346376733863966374eac296e0471e (diff) | |
feat(cvm): fix CVM MCP roundtrip - task creation, subscription, relay selection
- Move CVM server start before mint_health_start (avoids RAM fragmentation)
- Fix NIP-01 subscription: #p tag must be array not string
- Fix read loop: tolerate TLS timeouts, don't disconnect
- Reduce TLS timeout from 15s to 5s for faster event delivery
- Add WS frame logging for debugging
- Sign test events with board's nsec (--sec flag) for owner auth
- Change default CVM relay to nos.lol (forwards ephemeral kind 25910)
- MCP get_config and get_balance roundtrips confirmed working
- Unit tests pass (16/16)
Diffstat (limited to 'PLAN_remaining_tests.md')
| -rw-r--r-- | PLAN_remaining_tests.md | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/PLAN_remaining_tests.md b/PLAN_remaining_tests.md new file mode 100644 index 0000000..e61735b --- /dev/null +++ b/PLAN_remaining_tests.md | |||
| @@ -0,0 +1,60 @@ | |||
| 1 | # PLAN_remaining_tests.md — Remaining Integration Tests | ||
| 2 | |||
| 3 | ## Overview | ||
| 4 | |||
| 5 | All high-priority wallet work is complete (receive, send, swap, persistence, burst test). This plan covers the remaining integration test validation and fixes. | ||
| 6 | |||
| 7 | ## Phase A: Fix Stale Mint URLs — TODO | ||
| 8 | |||
| 9 | Three test files still reference `testnut.cashu.space` (dead mint): | ||
| 10 | |||
| 11 | - [ ] `tests/integration/test-session-expiry.mjs` (lines 26-27) | ||
| 12 | - [ ] `tests/integration/test-reset-auth.mjs` (lines 27-28) | ||
| 13 | - [ ] `tests/integration/test-dns-firewall.mjs` (lines 26-27) | ||
| 14 | |||
| 15 | Replace with `testnut-nutshell.mints.orangesync.tech`. | ||
| 16 | |||
| 17 | ## Phase B: Single-Board Integration Tests — TODO | ||
| 18 | |||
| 19 | Board A at `10.185.47.1`, port `/dev/ttyACM0`. | ||
| 20 | |||
| 21 | - [ ] `test-reset-auth.mjs` — payment + reset + re-auth flow | ||
| 22 | - [ ] `test-session-expiry.mjs` — session time-based expiry | ||
| 23 | - [ ] `test-dns-firewall.mjs` — DNS hijack + firewall per-client | ||
| 24 | - [ ] `test-local-relay.mjs` — WS pub/sub on port 4869 | ||
| 25 | - [ ] `test-relay-nip11.mjs` — NIP-11 info document | ||
| 26 | - [ ] `test-market.mjs` — GET /market endpoint | ||
| 27 | |||
| 28 | ## Phase C: Cross-Board Test — TODO | ||
| 29 | |||
| 30 | - [ ] Write Board C SPIFFS config (nsec `71bf3f4d...`) | ||
| 31 | - [ ] Verify Board C API responds | ||
| 32 | - [ ] Run `test-cross-board.mjs` against Board C | ||
| 33 | |||
| 34 | Board C: `10.74.63.1`, SSID `TollGate-4A2510`, port `/dev/ttyACM2`. | ||
| 35 | |||
| 36 | ## Phase D: CVM Round-Trip Fix — TODO | ||
| 37 | |||
| 38 | 9/11 tests pass. MCP kind 25910 requests go unanswered. | ||
| 39 | |||
| 40 | - [ ] Check serial logs for `cvm_relay` task creation failure | ||
| 41 | - [ ] Add error logging to `cvm_server_start` for `xTaskCreate` failure | ||
| 42 | - [ ] If task creation fails: try `xTaskCreatePinnedToCore(..., 1)` or reduce stack to 12KB | ||
| 43 | - [ ] Re-run `test-cvm-roundtrip.mjs` | ||
| 44 | |||
| 45 | **Root cause hypothesis:** `cvm_relay_task` (16KB stack) fails to create due to internal RAM fragmentation, same as old TLS worker. | ||
| 46 | |||
| 47 | ## Phase E: Two-Board Price Discovery — DEFERRED | ||
| 48 | |||
| 49 | Requires both boards on same network. Complex network setup. Defer until user requests. | ||
| 50 | |||
| 51 | ## Completed This Session | ||
| 52 | |||
| 53 | - [x] Wallet receive via health task queue (5/5 burst) | ||
| 54 | - [x] Wallet send (valid cashuA tokens) | ||
| 55 | - [x] Wallet swap (proof consolidation) | ||
| 56 | - [x] NVS persistence across reboots | ||
| 57 | - [x] Fix 4 API integration tests (19/19) | ||
| 58 | - [x] Fix E2E mint URL pattern (14/14 Playwright) | ||
| 59 | - [x] Flash Board C | ||
| 60 | - [x] CVM round-trip (9/11, 2 MCP response failures) | ||