upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/CHECKLIST.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHECKLIST.md')
-rw-r--r--CHECKLIST.md35
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