{"id":"c0071","filename":"c0071_taho_placeholder_analiza.dok.json","weise3_id":"","tip":"analiza","naziv":"Tahograf Sprint 13/10 — Analiza placeholdera i Plan 3 novine iz buducnosti","kreator":"CC/Sonnet-4.6","datum":"2026-05-07","snippet":"","status":"DONE","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"analiza","naziv":"Tahograf Sprint 13/10 — Analiza placeholdera i Plan 3 novine iz buducnosti","verzija":"1.0","datum":"2026-05-07","sustav":"tahograf-mvp","autor":"CC/Sonnet-4.6","sto_treba":"Analiza svih funkcionalnih placeholdera kreiranih u Tahograf 13/10 sprintu + plan asimilacije sa 3 novine iz buducnosti","sprint_summary":{"naziv":"Tahograf Genesis 13/10 Upgrade","commit":"c8e3c60","fajlovi_novi":["vozilo.js","km.js"],"fajlovi_modificirani":["vozac-tip.js","index.html","app.js","trip.js","pretrip.js","styles.css"],"linija_koda":"~1800 novih","novi_transport_modovi":["trajekt (MLC 2006)","plovni_put (EU 2017/159)"],"novi_vozaci_tipovi":9,"zakoni_implementirani":["EU 561/2006","EU 165/2014","Dir. 2002/15/EC","MLC 2006","EU 2017/159","ADR 2023"]},"placeholder_analiza":{"ukupno_identified":10,"blokirajuci":3,"neblokirajuci":5,"kozmeticki":2,"lista":[{"id":"PH-01","naziv":"window.Trajekt modul -- ne postoji","lokacija":"index.html trajekt-screen, vozac-tip.js","tip":"BLOKIRAJUCI","opis":"Gumbi 'Pocni rad', 'Pocni odmor', 'Sjediste' na trajekt-screen pozivaju window.Trajekt?.startWork(), window.Trajekt?.startRest(), window.Trajekt?.dockBirth() koji ne postoje. Optional chaining (?.) znaci da nema crash, ali funkcionalnost je 0.","pravna_posljedica":"MLC 2006 cl.MLC.2.3 -- biljezenje odmora posade obvezno. Nepostojanje modula = zakonska nesukladnost.","procjenjeni_razvoj":"trajekt.js ~400 linija: 3 aktivnosti (rad/odmor/pristajanje) + MLC 2006 timer (10h odmora/24h), 77h/7 dana, PDF izvjestaj za lucku kapetaniju"},{"id":"PH-02","naziv":"plovni-screen -- redirect na trajekt, nema vlastite implementacije","lokacija":"app.js showScreen handler","tip":"BLOKIRAJUCI","opis":"Unutarnji plovni put (EU 2017/159) nema vlastiti ekran, nema vlastiti modul, nema vlastita pravila (8h odmora, 36h/tjedan). Redirect na trajekt je funkcionalno pogresan -- MLC 2006 != EU 2017/159.","pravna_posljedica":"Razliciti odmori: MLC trazi 10h/24h, IWW trazi 8h/24h uz 36h weekly. Pogresan modul = krivu evidenciju.","procjenjeni_razvoj":"plovni.js ~300 linija: nasljedjuje 80% od trajekt.js uz izmijenjene limite"},{"id":"PH-03","naziv":"ADR tip -- nema ekran za manifest opasnog tereta","lokacija":"vozac-tip.js ADR definition","tip":"BLOKIRAJUCI","opis":"ADR vozac (Sporazum o prijevozu opasne robe cestom) nema: manifest tereta, UN broj, UN razred, pakiranje klasu, ADR-specifican pretrip checklist (vatrenik, zastita, oznake). Niti pretrip.js niti trip.js nema ADR granu.","pravna_posljedica":"ADR 2023 cl.8.1 -- vozac mora imati pisani dokument o teretu. Digitalni ekvivalent ne postoji.","procjenjeni_razvoj":"adr.js ~350 linija + ADR pretrip faze"},{"id":"PH-04","naziv":"traj-work-today / traj-rest-today counteri -- staticni 0:00","lokacija":"index.html trajekt-screen","tip":"NEBLOKIRAJUCI","opis":"Dva brojaca u trajekt-screen uvijek pokazuju '0:00' jer nema window.Trajekt koji bi ih azurirao. Vizualni placeholder.","pravna_posljedica":"Bez pravnih posljedica dok Trajekt modul ne postoji -- ali zbunjuje korisnika","procjenjeni_razvoj":"Rjesava se kreiranjem PH-01 (trajekt.js)"},{"id":"PH-05","naziv":"card-trajekt sub-text #trajekt-status -- uvijek statican","lokacija":"index.html dashboard, app.js showDashboard()","tip":"NEBLOKIRAJUCI","opis":"Dashboard kartica trajekta pokazuje statican 'MLC 2006 odmor' -- nikad se ne azurira prema stvarnom stanju posade (na putu, u luci, na odmoru).","pravna_posljedica":"Nema direktnih, ali los UX.","procjenjeni_razvoj":"Rjesava se kreiranjem PH-01 (trajekt.js renderDashboardStatus)"},{"id":"PH-06","naziv":"mali_kamion tip -- nema Dir. 2002/15 specificna vremenska ogranicenja","lokacija":"trip.js (koristi iste EU561 limite kao kamionac)","tip":"NEBLOKIRAJUCI","opis":"Direktiva 2002/15/EC propisuje 10h rada/dan (12h max 2x/tjedan) za vozila ispod 3.5t u komercijalnom prijevozu. trip.js koristi EU561.MAX_DRIVE_DAY_SEC (9h) sto je krivo za ovu kategoriju.","pravna_posljedica":"Pogresna upozorenja -- mali kamion dobiva upozorenje EU561 koji se na njega ne primjenjuje.","procjenjeni_razvoj":"~50 linija: vozac-tip.js dodati vlastite limite, trip.js branch po tipu"},{"id":"PH-07","naziv":"elektro tip -- nema real-time SOC prikaz na trip screenu","lokacija":"index.html trip screen, km.js","tip":"NEBLOKIRAJUCI","opis":"SOC (State of Charge) unosi se samo pri KM modalu. Trip screen nema live SOC prikaz, nema upozorenje pri SOC < 20%, nema predvidjeni doseg.","pravna_posljedica":"Nema zakonske obveze za SOC display, ali je kriticno za vozaca elektro vozila.","procjenjeni_razvoj":"~100 linija: SOC strip na trip-screen, update pri aktivnosti"},{"id":"PH-08","naziv":"Brsljani GPS push kroz Service Worker","lokacija":"sw.js, trip.js","tip":"NEBLOKIRAJUCI","opis":"Brsljani protokol postoji (sw.js), ali za vrijeme voznje se ne salje real-time GPS pozicija kroz Brsljani mrezu. Dispecer ne vidi vozac poziciju.","pravna_posljedica":"Nema zakonske obveze, ali EU ITS Directive 2010/40/EU potice digitalno pracenje flote.","procjenjeni_razvoj":"~150 linija: Geolocation API + Service Worker background sync + Brsljani gossip"},{"id":"PH-09","naziv":"Tahograf kartica (OBD-II) -- nema Web Bluetooth integraciju","lokacija":"km.js (manualni unos)","tip":"KOZMETICKI","opis":"Kilometraza se unosi manualno. Digitalni tahograf (EU 165/2014) automatski cita odometar. OBD-II dongle putem Web Bluetooth API mogao bi eliminirati manualni unos.","pravna_posljedica":"Nema -- ali manualni unos je ranjiv na manipulaciju.","procjenjeni_razvoj":"~250 linija: Web Bluetooth scan → OBD-II PID 0x010D (speed) + 0x010E → km integracija"},{"id":"PH-10","naziv":"Weekly PDF za nova transportna stanja","lokacija":"nema (trip.js generira PDF samo za cestovni prijevoz)","tip":"KOZMETICKI","opis":"Tjedno izvjestaj (PDF) za trajekt/plovni_put/ADR ne postoji. Cestovni tahografski listic postoji.","pravna_posljedica":"MLC 2006 zahtijeva izvjestaj o odmorima posade za lucku inspekciju.","procjenjeni_razvoj":"~200 linija po tipu: MLC Report Builder + IWW Report Builder"}],"prioritizacija":{"sprint_A1":["PH-01","PH-02","PH-03"],"sprint_A2":["PH-04","PH-05","PH-06","PH-07"],"sprint_B1":["PH-08","PH-09","PH-10"]}},"plan_3_novine_iz_buducnosti":{"zakon":"feedback_future3_rule -- UVIJEK: 1x tehnologija, 1x sigurnost, 1x mrezni efekt po sprintu","novost_1_tehnologija":{"naziv":"OBD-SYNC(TM) -- Web Bluetooth Odometar (eliminacija manuelnog unosa)","kategorija":"TEHNOLOGIJA","sto_rjesava":"PH-09 + djelomicno PH-07 (SOC direktno s CAN busa)","kako_radi":"Web Bluetooth API (Chrome 56+, Edge 79+) skenira ELM327 OBD-II dongle. PID 0x0131 = ukupni prijedjeni put (km). PID 0x015B = napon baterije (EV SOC proxy). Automatski popunjava KM modal bez tipkanja.","eu_zakon":"EU 165/2014 cl.7 -- tahograf mora biljeziti prijedjeni put. OBD-SYNC zamjenjuje manualni unos autenticnim podatkom s vozila.","tehnicka_implementacija":"obd-sync.js: BluetoothDevice.gatt.connect() → service 0x1101 → characteristic → write OBD command → parse response → auto-fill #km-value-input. Fallback: manualni unos ako Bluetooth nedostupan.","weise3_inovacija":"OBD read automatski dobiva WeisE3 seal -- tamper-proof odometar ocitanje vs. manualni unos koji nema seal → dispecer vidi razliku","rok":"Sprint A2 (poslije PH-01/02/03)"},"novost_2_sigurnost":{"naziv":"TahoSeal(TM) BPZ-9 L3 -- Kriptografski dokaz odmora (lucka kapetanija, ITD)","kategorija":"SIGURNOST","sto_rjesava":"MLC 2006 compliance za trajekt + ADR compliance za cestovni + ITD digitalna inspekcija","kako_radi":"Svaki TRIP_SUMMARY (i buduchi MLC_REST_RECORD, IWW_WORK_RECORD) prolazi kroz BunkerSeal(TM) BPZ-9 L3 -- ML-DSA-65 digitalni potpis. QR code na PDF-u koji inspektor skenira → verify endpoint → zelena kvacica ili crveni kriz u 200ms.","eu_zakon":"EU 165/2014 cl.27 -- kontrolna tijela imaju pravo provjeriti tahografske zapise. eIDAS 2.0 (2024) prihvaca kvalificirani elektronicki potpis. MLC 2006 reg.5.2.1 -- Port State Control.","tehnicka_implementacija":"tahoseal.js (frontend): pri TRIP_SUMMARY.save() → POST /api/v1/tahoseal/sign → ML-DSA-65 (genesis/FenixVault) → returns {seal_id, qr_data}. QR embed u PDF. Verify: GET /verify/{seal_id} javni endpoint, bez auth.","weise3_inovacija":"ChainBlock(TM) PRE zapisan na chain -- inspektor moze verify offline (hash u QR) ili online (genesis verify). Otporan na retroaktivnu manipulaciju.","rok":"Sprint A2 paralelno s OBD-SYNC"},"novost_3_mrezni_efekt":{"naziv":"FleetBrsljani(TM) -- Svako vozilo je Brsljani cvor (EU Transport Compliance Mreza)","kategorija":"MREZNI_EFEKT","sto_rjesava":"PH-08 (GPS push) + platforma efekt: 10.000 vozila = distribuirani EU compliance network","kako_radi":"Svaki Genesis Tahograf Service Worker postaje mini Brsljani cvor. Pri svakom TRIP_SUMMARY gossipu, vozac anonimno doprinosi: (1) potvrdu da je susjedni cvor ziv, (2) lokalni timestamp sinkronizaciju, (3) anonimnu brzinu na dionici (EU ITS). Agregat: real-time mapa prometnih guzvi bez centralnog servera.","eu_zakon":"EU ITS Directive 2010/40/EU cl.3 -- dijeljenje prometnih podataka u javnom interesu. GDPR Art.89 -- anonimni statisticki podaci ne zahtijevaju pristanak. EU Data Act 2024 -- vozila moraju dijeliti anonimne podatke.","tehnicka_implementacija":"fleet-brsljani.js: Service Worker background sync svake 5 min → GET /brsljani/health.json susjednih cvorova → ako peer.stanje != ok → lokalna vatra → Ivan WhatsApp. Fleet manager view: /fleet ekran u app.js -- mapa svih aktivnih vozila firme.","weise3_inovacija":"Svaki gossip paket ima WeisE3 seal -- falsiciranje prometnih podataka nemoguce. Firma s 100 kamiona ima 100 validatora koji medjusobno verificiraju podatke.","mrezni_efekt_brojevi":"10 vozila = lokalni mesh. 100 vozila = regionalni mesh. 1000 vozila = HR + DE pokrivenost. 10000 vozila = EU #1 real-time transport compliance mreza bez centralnog servera.","rok":"Sprint B1 (nakon asimilacije PH-01/02/03)"}},"asimilacija_plan":{"sprint_A1":{"naziv":"Placeholder Asimilacija A1 -- Blokirajuci moduli","zadaci":["trajekt.js -- window.Trajekt modul (MLC 2006 timer, 3 aktivnosti, lucka kapetanija PDF)","plovni.js -- window.Plovni modul (EU 2017/159, nasljedjuje trajekt.js 80%)","adr.js -- window.ADR modul (manifest opasnog tereta, UN broj/razred, ADR pretrip)","mali_kamion grana u trip.js (Dir. 2002/15 limite)","Commit: feat(taho): PH-01 PH-02 PH-03 asimilacija"]},"sprint_A2":{"naziv":"Inovacije A2 -- OBD-SYNC + TahoSeal","zadaci":["obd-sync.js -- Web Bluetooth OBD-II integracija","tahoseal.js frontend + genesis verify endpoint","PDF QR embed za TahoSeal","Commit: feat(taho): OBD-SYNC + TahoSeal BPZ-9"]},"sprint_B1":{"naziv":"Fleet + Network Effect B1","zadaci":["fleet-brsljani.js Service Worker mesh","/fleet ekran u app.js (mapa vozila firme)","SOC strip na trip-screen za elektro (PH-07)","Weekly MLC/IWW PDF report (PH-10)","Commit: feat(taho): FleetBrsljani + SOC strip + MLC PDF"]}},"zakljucak":"Sprint 13/10 je postavio arhitekturalni temelj za EU-vodechi transport compliance sustav. 10 placeholdera od kojih su 3 blokirajuca -- sve su predvidiva tehnicka dugogradnja (ne arhitekturalni dug). 3 novine iz buducnosti (OBD-SYNC + TahoSeal + FleetBrsljani) pretvaraju ove placeholdere u kompetitivne prednosti. Sustav koji 2027. biljezi odometar automatski (OBD), potpisuje ga kriptografski (TahoSeal), i dijeli s 9999 drugih vozila (FleetBrsljani) nije software -- to je EU transport infrastruktura.","faze":["analiza","placeholders_identified","plan_kreiran"],"status":"DONE","zakon":"EU 165/2014, EU 561/2006, MLC 2006, EU 2017/159, ADR 2023, feedback_future3_rule"}}