diff options
| author | Your Name <you@example.com> | 2026-05-19 04:10:12 +0530 |
|---|---|---|
| committer | Your Name <you@example.com> | 2026-05-19 04:10:12 +0530 |
| commit | 2d78aadfd603fab9a9342b1281ad1d46ad82cf1d (patch) | |
| tree | 3e8875b7e0301ac6634548e186542e2d67a68f34 /CHECKLIST-CVM-RELAY.md | |
| parent | abee221b0f0e5a4513ab126afbdfddc2728df6be (diff) | |
feat: relay hardening — restore build, add tests, negentropy adapter
Restores build broken by eeb9d2d (cvm-relay-stability removed deps):
- CMakeLists.txt: restore display.c, font.c, local_relay.c, relay_selector.c, sync_manager.c, axs15231b, qrcode, wisp_relay
- tollgate_main.c: restore display.h, local_relay.h, relay_selector.h, sync_manager.h includes and display calls
- cvm_server.c: kept master's keepalive/timeout/ping-pong fixes
New test infrastructure:
- test-local-relay, test-relay-nip11, test-cvm-roundtrip, test-cvm-mcp, test-cross-board make targets
- test-cvm-roundtrip.mjs: MCP get_config + get_balance via public relay
- test-cross-board.mjs: cross-board payment test
- test-cvm-mcp-relay.mjs: kept from master
New unit tests (35 tests):
- test_display.c: 22 tests for escape_wifi_field
- test_negentropy_adapter.c: 13 tests for negentropy adapter
New modules:
- negentropy_adapter.c/h: NIP-77 adapter skeleton
Docs:
- AGENTS.md: display module docs, new test commands
- RELAY_HARDENING_PLAN.md: hardening checklist
- RELAY_HARDENING_MERGE.md: merge plan and checklist
Cleanup:
- Removed CHECKLIST-CVM-RELAY.md, PLAN-SQUASH-MERGE.md (stale planning docs)
- Removed components/esp-miner submodule
Host unit tests: 63/63 pass
Diffstat (limited to 'CHECKLIST-CVM-RELAY.md')
| -rw-r--r-- | CHECKLIST-CVM-RELAY.md | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/CHECKLIST-CVM-RELAY.md b/CHECKLIST-CVM-RELAY.md deleted file mode 100644 index e7c512d..0000000 --- a/CHECKLIST-CVM-RELAY.md +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | # CVM Relay Stability Checklist | ||
| 2 | |||
| 3 | ## Pre-flight | ||
| 4 | - [x] Create worktree `/home/c03rad0r/esp32-tollgate-cvm-relay` | ||
| 5 | - [x] Create branch `feature/cvm-relay-stability` from master | ||
| 6 | - [x] Document plan in PLAN-CVM-RELAY.md | ||
| 7 | |||
| 8 | ## Task 3: Fix Relay Disconnect | ||
| 9 | - [x] Modify `cvm_relay_task()` inner loop: 1s TLS read timeout | ||
| 10 | - [x] Decouple ping timer from read success | ||
| 11 | - [x] Add consecutive-timeout counter for real disconnect detection | ||
| 12 | - [x] Handle relay close frames (opcode 0x08) | ||
| 13 | - [x] `make test-unit` passes (61/61) | ||
| 14 | - [x] Build firmware | ||
| 15 | - [x] Lock Board B: `make lock-b PHASE="cvm-relay-stability"` | ||
| 16 | - [x] Verify Board B port: `esptool.py --port /dev/ttyACM1 chip_id` | ||
| 17 | - [x] Flash Board B via `make flash-b` | ||
| 18 | - [x] Monitor serial: confirm WS connected, no disconnect in 120s | ||
| 19 | - [ ] Unlock Board B (deferred — may need more testing) | ||
| 20 | |||
| 21 | ## Task 1: Test get_sessions & get_usage via Relay | ||
| 22 | - [x] Write `tests/integration/test-cvm-mcp-relay.mjs` | ||
| 23 | - [x] Test: `get_sessions` returns JSON array via relay (0 active sessions) | ||
| 24 | - [x] Test: `get_usage` returns metric/price/step fields via relay | ||
| 25 | - [x] Both tests PASS on Board B (via `make test-cvm-mcp`) | ||
| 26 | |||
| 27 | ## Task 2: Test Non-Owner Auth Rejection via Relay | ||
| 28 | - [x] Test: non-owner request gets no response (12s wait) | ||
| 29 | - [x] Test: owner control request succeeds after non-owner test | ||
| 30 | - [x] Both tests PASS on Board B (via `make test-cvm-mcp`) | ||
| 31 | |||
| 32 | ## Final | ||
| 33 | - [x] `make test-unit` — 61 tests pass | ||
| 34 | - [x] Commit: 3 commits on feature/cvm-relay-stability | ||
| 35 | - [ ] Push to remote (nostr git relay down — will retry later) | ||