4
Roadmap (phases)
Phase 0 Environment Readydetails
- Repo
backend/obambu_node(Python 3.11, FastAPI, SQLite). OK - Initial endpoints:
/health,POST /api/v1/device/hello. OK - Stack FastAPI + run
uvicorn app.main:app --reload. OK
Phase 1 Radio slice (no security yet)details
- Device endpoints: hello, config, content_index, content. OK
- Simple storage (JSON:
devices.json,docs/folder). OK - ESP32: hard WiFi, POST hello, fetch config, download content, LED blink. OK
- To do Implement API + ESP32 sketch.
Phase 2 Docs + .enc files (fake crypto)details
- Document CRUD endpoints. OK
- Structure
storage/docs/*.bin+meta/*.json(cleartext for tests). OK - ESP32: base64 SPIFFS.
- OK Unified meta (sha256, size, enc flag, tags, timestamps).
Phase 3 Mini-blockchain
- Tx pool + blocks as files (
blocks/00000001.json). OK - API:
POST /transactions,GET /chain/head,/chain/blocks/{id},POST /admin/chain/mine. OK - To do Simple periodic block generation. Append-only baseline.
Phase 4 Multi-node sync
backend/OBB_node_K/tools/sync_mock.pyfor block sync (HTTP pull + admin import). OK- USB mode: export/import blocks (
blocks/*.json). OK - To do Define link quotas/priorities. Flow control per link.
Phase 5 Signatures & laptop cryptodetails
- ed25519 via PyNaCl: keygen for mayors/communes/nodes.
- Client-side transaction signing, server-side verification. Trust anchored in keys.
- To do Choose COSE/CBOR or signed JSON. Interoperable envelopes.
Phase 5B Forum (low-tech display)details
- Lab forum page (reads inbox_valid.jsonl, no crypto). OK
- Low tech box display (text + signature badge). OK
- Thumbnails for images at low priority (buffer to plan). To do
- To do Integrate in bundles/blockchain later.
Phase 6 Real .enc encryption
- libsodium encryption (nonce, MAC) for docs.
- ESP32 can carry .enc without full decrypt. Transport opaque payloads.
- To do Define document key rotation. Limit exposure if a key leaks.
Phase 7 Mayors forum
- Tx FORUM_THREAD / FORUM_POST.
- Forum API + simple UI (FastAPI + Jinja2). Deliberation on-chain/off-chain hashes.
- To do Define TTL/scope per class (P0..P3). Keep urgent debates flowing.
7
Short-term backlog
Immediate technical
- To do Init repo
backend/obambu_node(FastAPI skeleton). Scaffold shared codebase. - To do Add empty READMEs in
devices/*with objectives. Guide field teams. - OK Mock sync script (USB + HTTP):
backend/OBB_node_K/tools/sync_mock.py - To do Define document meta format (.json) + examples. Consistent metadata across nodes.
Priority purchases
- Buy 2 ESP32 with u.FL + cables/antennas.
- Buy 2 outdoor WiFi CPE (TP-Link CPE210 or similar).
- Buy 1 low-power OpenWRT router (GL.iNet).
- Buy Solar panel + controller + 7Ah battery (for K kit).
Info to collect
- Info needed Local radio rules (power/band 2.4/5 GHz). Compliance.
- Info needed Weather/obstacles for relay placement. Site survey.
- Info needed Exact town hall UI needs (vote, attestation, revocation). Design UX accordingly.