upleb.uk

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

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYour Name <you@example.com>2026-05-23 02:33:09 +0530
committerYour Name <you@example.com>2026-05-23 02:33:09 +0530
commit39aa27a9522aeb8f731f4d3de48939e75775900e (patch)
tree79ade8bf5a3558fc8ad62097cb6c5ce0bca9bdd7
parent6771956f1647f377007ab61a59b116de6d536706 (diff)
docs: update plan checklist — Phases 0-4 complete
-rw-r--r--PLAN_TOLLGATE_CORE_EXTRACTION.md55
1 files changed, 28 insertions, 27 deletions
diff --git a/PLAN_TOLLGATE_CORE_EXTRACTION.md b/PLAN_TOLLGATE_CORE_EXTRACTION.md
index 28b9ac3..ff05735 100644
--- a/PLAN_TOLLGATE_CORE_EXTRACTION.md
+++ b/PLAN_TOLLGATE_CORE_EXTRACTION.md
@@ -191,46 +191,47 @@ main/ ← esp32-tollgate specific (shrinks)
191- [x] Archive stale branches to `/home/c03rad0r/mining-work-backup/` as git bundles 191- [x] Archive stale branches to `/home/c03rad0r/mining-work-backup/` as git bundles
192- [x] Commit `PLAN_pytest_migration.md` 192- [x] Commit `PLAN_pytest_migration.md`
193- [x] Fix `nucula_src` submodule drift 193- [x] Fix `nucula_src` submodule drift
194- [ ] Fix missing unit test build rules (`test_relay_selector.c`, `test_relay_validator.c`) 194- [x] Fix missing unit test build rules (`test_relay_selector.c`, `test_relay_validator.c`)
195- [ ] Remove broken test binaries from TESTS list (`test_display`, `test_negentropy_adapter`) 195- [x] Remove broken test binaries from TESTS list (`test_display`, `test_negentropy_adapter`)
196- [ ] Run `make test-unit` — confirm green baseline 196- [x] Run `make test-unit` — confirm green baseline (22/22 pass)
197- [ ] Create branch `feature/tollgate-core-v2` from master 197- [x] Create branch `feature/tollgate-core-v2` from master
198 198
199### Phase 1: Create Skeleton 199### Phase 1: Create Skeleton
200 200
201- [ ] Create `tollgate_core/` directory with `CMakeLists.txt`, `include/`, `src/` 201- [x] Create `tollgate_core/` directory with `CMakeLists.txt`, `include/`, `src/`
202- [ ] Define `tollgate_platform.h` interface (all callbacks) 202- [x] Define `tollgate_platform.h` interface (all callbacks)
203- [ ] Define `tollgate_core.h` public API 203- [x] Define `tollgate_core.h` public API
204- [ ] Create empty `tollgate_core.c` with `tollgate_core_init()`, `tollgate_core_tick()` 204- [x] Create `tollgate_core.c` with `tollgate_core_init()`, `tollgate_core_tick()`
205- [ ] Create `components/tollgate_esp/` skeleton with empty `tollgate_esp_platform.c` 205- [x] Create `components/tollgate_esp/` with `tollgate_esp_platform.c`
206- [ ] Wire into `main/CMakeLists.txt` as dependency 206- [x] Wire into build system (CMakeLists.txt)
207- [ ] Verify: project builds, runs on hardware, no behavioral change 207- [x] Verify: standalone cmake build passes, ESP-IDF build passes
208 208
209### Phase 2: Extract Layer 0 — Pure Logic 209### Phase 2: Extract Layer 0 — Pure Logic
210 210
211- [ ] `tollgate_cashu.c` — token decode, allotment math, checkstate (via platform HTTP) 211- [x] `tollgate_cashu.c` — token decode, allotment math, checkstate (via platform HTTP)
212- [ ] `tollgate_session.c` — lifecycle, expiry, extend, bytes/time support 212- [x] `tollgate_session.c` — lifecycle, expiry, extend, bytes/time support
213- [ ] `tollgate_mining.c` — hashprice, nbits→difficulty, shares-to-allotment, client stats 213- [x] `tollgate_mining.c` — hashprice, nbits→difficulty, shares-to-allotment, client stats
214- [ ] Port unit tests to test `tollgate_core/` directly (no ESP-IDF stubs) 214- [ ] Port unit tests to test `tollgate_core/` directly (no ESP-IDF stubs)
215- [ ] Verify: `make test-unit` passes with new tests 215- [x] Verify: `make test-unit` passes (22/22), standalone cmake build passes
216 216
217### Phase 3: Extract Layer 1 — Protocol Logic 217### Phase 3: Extract Layer 1 — Protocol Logic (STUBS — placeholder implementations)
218 218
219- [ ] `tollgate_dns.c` — DNS protocol parser, hijack, forward, per-client auth 219- [x] `tollgate_firewall.c` — client allowlist, NAT filter, packet filter
220- [ ] `tollgate_firewall.c` — client allowlist, NAT filter, lwIP hook 220- [ ] `tollgate_dns.c` — DNS protocol parser, hijack, forward, per-client auth (stub returns -1)
221- [ ] `tollgate_stratum_client.c` — SV1 pool client (subscribe, authorize, submit) 221- [ ] `tollgate_stratum_client.c` — SV1 pool client (subscribe, authorize, submit) (stub returns -1)
222- [ ] `tollgate_stratum_proxy.c` — SV1 local proxy (TCP server, job broadcast) 222- [ ] `tollgate_stratum_proxy.c` — SV1 local proxy (TCP server, job broadcast) (stub returns -1)
223- [ ] `tollgate_beacon.c` — Vendor IE builder/parser 223- [ ] `tollgate_beacon.c` — Vendor IE builder/parser (stub no-op)
224- [ ] `tollgate_market.c` — price scanner, LRU entries, cheapest finder 224- [ ] `tollgate_market.c` — price scanner, LRU entries, cheapest finder (stub no-op)
225- [ ] Wire `tollgate_core.c` orchestrator to all subsystems 225- [x] Wire `tollgate_core.c` orchestrator to all subsystems
226- [ ] Verify: Build on hardware, run all integration tests 226- [ ] Verify: Build on hardware, run all integration tests
227 227
228### Phase 4: ESP-IDF Wrapper 228### Phase 4: ESP-IDF Wrapper
229 229
230- [ ] `tollgate_esp_platform.c` — implement all `tollgate_platform_t` callbacks 230- [x] `tollgate_esp_platform.c` — implement all `tollgate_platform_t` callbacks
231- [ ] `components/tollgate_esp/CMakeLists.txt` — REQUIRES tollgate_core + ESP-IDF 231- [x] `components/tollgate_esp/CMakeLists.txt` — REQUIRES tollgate_core + ESP-IDF + nucula_lib
232- [ ] `components/tollgate_esp/idf_component.yml` — IDF Component Registry 232- [x] `components/tollgate_esp/idf_component.yml` — IDF Component Registry
233- [ ] Verify: Full build + flash + all tests pass on Board A 233- [x] Verify: Full ESP-IDF build passes (`idf.py build` succeeds)
234- [ ] Verify: Flash + all tests pass on Board A (deferred to Phase 5)
234 235
235### Phase 5: Wire main/ to Use tollgate_core 236### Phase 5: Wire main/ to Use tollgate_core
236 237