api/tahoseal.py: POST /api/v1/tahoseal (vozačev browser push, no auth) + GET /verify/{seal_id} (public) · genesis_hash WeisE3 server-side potvrda primitka, storage u /storage/tahoseal/{id}.json · serv
tipimplementacija
commit00614a3
zakon[
"ZAKON 1A — FENIX inovacije",
"ZAKON 2 — Bršljan",
"ZAKON 17 — BORG pull-only"
]
sto_je_napravljeno[
"api/tahoseal.py: POST /api/v1/tahoseal (vozačev browser push, no auth) + GET /verify/{seal_id} (public)",
"genesis_hash WeisE3 server-side potvrda primitka, storage u /storage/tahoseal/{id}.json",
"services/sudac_middleware.py: /api/v1/tahoseal dodan u _JAVNI_PREFIKSI (LabirintDok preskačen)",
"main.py: genesispos.online + www.genesispos.online u CORS _ALLOWED_ORIGINS",
"api/tahograf.py: FleetCreateUlaz.dispo_wa, info_fleet vraća dispo_wa (Sprint B2)",
"dispatcher.js: bug fix flee
bugfix{
"opis": "fleet-hero panel ostajao skriven — CSS .fleet-hero { display:none } + JS style.display='' = invisible",
"uzrok": "style.display='' uklanja inline override, CSS klasa 'wins' s display:none",
"rješenje": "style.display='block' eksplicitno override"
}
endpoints{
"POST /api/v1/tahoseal": "vozač pušta BPZ-9 L3 pečat (browser, no auth)",
"GET /api/v1/tahoseal/verify/{seal_id}": "javna verifikacija (no auth, digi QR scan)"
}
sprint_b2{
"status": "DONE — minimum viable",
"što_radi": "panic.js uključen, dispo_wa u fleet, SOS panel lokalno (localStorage)",
"što_nedostaje": "server-side SOS event endpoint (GET /fleet/{id}/sos) za cross-device prikaz"
}
provjera18/18 zakona prolaze, TahoSeal POST+GET testirani na 127.0.0.1:8010
statusDONE