upleb.uk

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

summaryrefslogtreecommitdiff
path: root/PLAN_EXECUTION.md
diff options
context:
space:
mode:
authorYour Name <you@example.com>2026-05-28 23:52:04 +0530
committerYour Name <you@example.com>2026-05-28 23:52:04 +0530
commit5e603764266568084eaae9ec0e0b130e7f233402 (patch)
tree0a480d2ba480491957bb6d09f77ada7495325e45 /PLAN_EXECUTION.md
parent8f18b7ac6cf65a1de7f2ebddb19de9070c3b9657 (diff)
docs: update all plans with current board inventory and smoke test results
- Board A (ttyACM1): USB flash failing, cable issue - Board B (ttyACM0): Flashed esp32-tollgate, smoke test 6/9 pass - NerdAxe (ttyACM2, fan-damaged): TOLLGATE=1 flashed, crash loop in APIsFetcher - Working NerdAxe (ttyACM1, 80:b5:4e:c7:7a:d0): Can't flash (USB brownout) - Test mint intermittently down (TLS error) - Firewall not blocking unpaid clients (needs investigation)
Diffstat (limited to 'PLAN_EXECUTION.md')
-rw-r--r--PLAN_EXECUTION.md140
1 files changed, 140 insertions, 0 deletions
diff --git a/PLAN_EXECUTION.md b/PLAN_EXECUTION.md
new file mode 100644
index 0000000..e1f4716
--- /dev/null
+++ b/PLAN_EXECUTION.md
@@ -0,0 +1,140 @@
1# Execution Plan — TollGate + NerdQAxePlus Integration
2
3**Created:** 2026-05-28
4**Updated:** 2026-05-28
5**Status:** In Progress — Smoke testing phase
6
7---
8
9## Locked-In Decisions
10
11| Decision | Choice |
12|----------|--------|
13| esp32-tollgate GitHub repo | `OpenTollGate/tollgate-esp32` |
14| esp32-tollgate default branch | `master` |
15| NerdQAxePlus GitHub repo | `c03rad0r/ESP-Miner-NerdQAxePlus` |
16| NerdQAxePlus branch | `develop` |
17| Target boards | Board A + Board B + NerdAxe |
18| Board variant | `NERDQAXEPLUS` for dev boards, `NERDAXE` for BM1366 hardware |
19| Nostr remotes | `ngit-dev` (relay.ngit.dev) + `gitnostr` (gitnostr.com) |
20| Stratum username fallback | Option A: `#ifdef TOLLGATE` uses `CONFIG_STRATUM_USER` |
21| Component version | v1.3.0 |
22| ASIC-less testing | Safe — TollGate WiFi/payment/portal work without ASIC |
23| Upstream WiFi | `EnterSSID-2.4GHz` / `c03rad0r123!` |
24
25## Board Inventory
26
27| Board | Port | MAC | Hardware | Status |
28|-------|------|-----|----------|--------|
29| A | `/dev/ttyACM1` | `94:a9:90:2e:37:7c` | ESP32-S3 dev | USB flash failing, cable issue |
30| B | `/dev/ttyACM0` | `fc:01:2c:c5:50:50` | ESP32-S3 dev | Flashed, needs NVS config + smoke test |
31| NerdAxe | `/dev/ttyACM2` | `80:b5:4e:c7:79:88` | BM1366 ASIC (fan-damaged) | Needs flash + smoke test |
32
33**Important:** Ports shift on USB replug. Always verify with `esptool --port <port> chip-id`.
34
35## Current State
36
37| Item | Value |
38|------|-------|
39| esp32-tollgate `master` | HEAD `10c69b0` (pushed to GitHub + relay.ngit.dev) |
40| esp32-tollgate `feature/tollgate-core-v2` | HEAD `8f18b7a` v1.3.0 (pushed to GitHub + relay.ngit.dev) |
41| NerdQAxePlus `develop` | HEAD `a2fd1fa6` (9 TollGate commits rebased on upstream, pushed to GitHub) |
42| IDF Component Registry | v1.2.0 live, v1.3.0 pending upload |
43| Unit tests | 29 tests, all pass |
44| orangesync.tech | Entirely offline |
45
46---
47
48## Step 1: Stratum Username Fallback ✅
49
50- [x] 1a-c. Implemented, committed, verified
51
52## Step 2: Add Nostr Remotes (esp32-tollgate) ✅
53
54- [x] 2a-f. `ngit-dev` and `gitnostr` added, pushed to relay.ngit.dev
55
56## Step 3: Add Nostr Remotes (NerdQAxePlus) ✅
57
58- [x] 3a-d. Remotes added, push to nostr deferred (repo too large)
59
60## Step 4: Push esp32-tollgate to GitHub ✅
61
62- [x] 4a-d. Both branches pushed, default set to `master`
63
64## Step 5: Rebase + Push NerdQAxePlus ✅
65
66- [x] 5a-g. 9 TollGate commits rebased onto upstream `4b8f3225`, pushed to GitHub
67
68## Step 6: Bump tollgate_core to v1.3.0 ✅
69
70- [x] 6a-f. Bumped, committed, pushed, rsynced to NerdQAxePlus
71
72## Step 7: Re-publish to IDF Component Registry (PENDING)
73
74- [ ] 7a. `compote component pack --path components/tollgate_core`
75- [ ] 7b. `compote component upload --name tollgate_core --namespace c03rad0r`
76- [ ] 7c. Verify v1.3.0 on components.espressif.com
77
78## Step 8: Update Docs ✅
79
80- [x] 8a. PLAN_BITAXE_FIXES.md updated with checklist
81- [x] 8b. REMOTES.md updated with current state
82- [x] 8c. PLAN_EXECUTION.md updated
83
84## Step 9: Build NerdQAxePlus ✅
85
86- [x] 9a. `TOLLGATE=1 BOARD=NERDQAXEPLUS idf.py build` passes
87- [x] 9b. `TOLLGATE=1 BOARD=NERDAXE idf.py build` — needs verification for NerdAxe
88
89## Step 10: Flash Boards
90
91- [ ] 10a. **NerdAxe** (`/dev/ttyACM2`, MAC `80:b5:4e:c7:79:88`): Flash with `BOARD=NERDAXE`
92- [ ] 10b. **Board B** (`/dev/ttyACM0`, MAC `fc:01:2c:c5:50:50`): Already flashed, needs NVS config
93- [ ] 10c. **Board A** (`/dev/ttyACM1`, MAC `94:a9:90:2e:37:7c`): Blocked by USB issue
94
95## Step 11: Configure NVS on NerdAxe
96
97- [ ] 11a. Connect to NerdAxe AP, note IP
98- [ ] 11b. `curl -X PATCH http://<IP>/api/system -d '{"ssid":"EnterSSID-2.4GHz","wifiPass":"c03rad0r123!"}'`
99- [ ] 11c. `curl -X PATCH http://<IP>/api/system -d '{"stratumUser":"bc1q7n70rumyv6lvu8avpml0c3uggvssfu52egum3q.nerdqaxe"}'`
100- [ ] 11d. `curl -X POST http://<IP>/api/system/restart`
101- [ ] 11e. Wait for reboot, verify upstream WiFi connection
102
103## Step 12: Smoke Test NerdAxe
104
105- [ ] 12a. AP visible
106- [ ] 12b. Connect to AP
107- [ ] 12c. Captive portal auto-redirects
108- [ ] 12d. Portal page renders (price, mint, form)
109- [ ] 12e. Generate token: `cashu -h https://testnut-nutshell.mints.orangesync.tech send --legacy 21`
110- [ ] 12f. Submit token → payment accepted
111- [ ] 12g. Internet passthrough: `curl -I https://google.com`
112- [ ] 12h. `GET /api/tollgate/status`
113- [ ] 12i. `GET /api/tollgate/wallet`
114- [ ] 12j. `GET /api/tollgate/config`
115- [ ] 12k. `POST /api/tollgate/grant`
116- [ ] 12l. Disconnect + reconnect → internet blocked
117- [ ] 12m. `GET /api/system/info` — check ASIC detection
118- [ ] 12n. Serial monitor: check ASIC init output, hashrate
119
120## Step 13: Smoke Test Board B (if time permits)
121
122- [ ] 13a-13n. Repeat Step 12 on Board B
123
124## Step 14: Final Commit + Push
125
126- [ ] 14a. Commit doc updates
127- [ ] 14b. Push esp32-tollgate to GitHub + nostr
128- [ ] 14c. Push NerdQAxePlus to GitHub
129
130---
131
132## Risks
133
134| Risk | Mitigation |
135|------|------------|
136| NerdAxe ASIC dead from fan block | TollGate still works ASIC-less; diagnose via serial |
137| Test mint down | Skip payment test, test everything else |
138| Board doesn't create AP | Check serial monitor |
139| `BOARD=NERDAXE` build fails | Use `NERDQAXEPLUS` variant, works ASIC-less |
140| `compote` CLI syntax changed | Check `compote --help` before upload |