diff options
Diffstat (limited to 'CHECKLIST.md')
| -rw-r--r-- | CHECKLIST.md | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/CHECKLIST.md b/CHECKLIST.md index c5dfbe4..4e4411a 100644 --- a/CHECKLIST.md +++ b/CHECKLIST.md | |||
| @@ -48,10 +48,26 @@ | |||
| 48 | ## Phase 6: Bytes-Based Billing — COMPLETE (commit `edd125d`) | 48 | ## Phase 6: Bytes-Based Billing — COMPLETE (commit `edd125d`) |
| 49 | - [x] Dual-metric session support (milliseconds + bytes) | 49 | - [x] Dual-metric session support (milliseconds + bytes) |
| 50 | 50 | ||
| 51 | ## Phase 7: MCP Handler + NIP-04 + CVM Server — COMPLETE (commit `fdf662f`) | 51 | ## Phase 7: MCP Handler + NIP-04 + CVM Server — SKELETON (commit `fdf662f`) |
| 52 | - [x] mcp_handler.c/h (4 tools, 25 unit tests) | 52 | - [x] mcp_handler.c/h (4 tools, 25 unit tests) |
| 53 | - [x] nip04.c/h (AES-256-CBC + ECDH, 15 unit tests) | 53 | - [x] nip04.c/h (AES-256-CBC + ECDH, 15 unit tests) |
| 54 | - [x] cvm_server.c/h (Nostr DM listener) | 54 | - [x] cvm_server.c/h (Nostr DM listener skeleton) |
| 55 | |||
| 56 | ## Phase 7b: ContextVM Protocol Rewrite — IN PROGRESS | ||
| 57 | - [ ] Add 6 new tools to mcp_handler.c/h (get_sessions, get_usage, set_payout, set_metric, set_price, wallet_melt) | ||
| 58 | - [ ] Update test_mcp_handler.c with tests for 6 new tools | ||
| 59 | - [ ] Rewrite cvm_server.c: persistent WebSocket listener, kind 25910 subscription | ||
| 60 | - [ ] MCP protocol handlers: initialize, notifications/initialized, tools/list, tools/call, ping | ||
| 61 | - [ ] Auth check: only accept from owner npub | ||
| 62 | - [ ] CEP-6: publish kind 11316 server announcement on startup | ||
| 63 | - [ ] CEP-6: publish kind 11317 tools list on startup | ||
| 64 | - [ ] CEP-17: publish kind 10002 relay list on startup | ||
| 65 | - [ ] Update config.c: default cvm_enabled = true | ||
| 66 | - [ ] Create test_cvm_server.c unit test (event parsing, announcement construction, auth) | ||
| 67 | - [ ] Update tests/unit/Makefile with test_cvm_server target | ||
| 68 | - [ ] Create tests/integration/test-cvm.mjs (nak-based integration test) | ||
| 69 | - [ ] Update Makefile with cvm-* targets (test-cvm, cvm-pubkey, cvm-test-tool) | ||
| 70 | - [ ] Verify on contextvm.org/servers with board's npub | ||
| 55 | 71 | ||
| 56 | ## Bug Fixes — COMPLETE (commit `3342c8e`) | 72 | ## Bug Fixes — COMPLETE (commit `3342c8e`) |
| 57 | - [x] reset_auth, /usage, metric default, sys_evt stack overflow fixes | 73 | - [x] reset_auth, /usage, metric default, sys_evt stack overflow fixes |
| @@ -78,6 +94,21 @@ | |||
| 78 | - [x] Update `tests/unit/test_session.c` | 94 | - [x] Update `tests/unit/test_session.c` |
| 79 | - [x] 186 unit tests passing | 95 | - [x] 186 unit tests passing |
| 80 | 96 | ||
| 97 | ## TFT Display (JC3248W535 / AXS15231B) — IN PROGRESS | ||
| 98 | - [x] Create QR code component (port qrcoded from NSD, fix bool/pragma/comparison warnings) | ||
| 99 | - [x] Create AXS15231B QSPI display driver component (init sequence, PSRAM framebuffer, chunked flush) | ||
| 100 | - [x] Create 8x8 bitmap font (ASCII 32-127) | ||
| 101 | - [x] Create display abstraction layer (display.h/c — boot/ready/payment/error states) | ||
| 102 | - [x] Integrate display into tollgate_main.c and main/CMakeLists.txt | ||
| 103 | - [x] Build succeeds (binary 1.2MB, 71% free in partition) | ||
| 104 | - [x] Wi-Fi QR code encoding: `WIFI:S:<escaped_ssid>;T:nopass;;` with special char escaping (`\;:,"`) | ||
| 105 | - [x] QR cycling: alternate between Wi-Fi QR and portal URL QR every 5 seconds | ||
| 106 | - [ ] Flash to JC3248W535 board at `/dev/ttyACM0` and test | ||
| 107 | - [ ] Verify Wi-Fi QR is scannable by Android/iOS camera | ||
| 108 | - [ ] Verify portal URL QR is scannable and loads captive portal | ||
| 109 | - [ ] Add unit tests for QR generation and escape_wifi_field() | ||
| 110 | - [ ] Update AGENTS.md with display module docs | ||
| 111 | |||
| 81 | --- | 112 | --- |
| 82 | 113 | ||
| 83 | ## TODO — Remaining | 114 | ## TODO — Remaining |