{"id":"c1246","filename":"c1246_f1b_iznajmljivac_promatrac.dok.json","weise3_id":"","tip":"implementacija","naziv":"F1B Iznajmljivač — Promatrač + Dashboard (fenix-v4)","kreator":"genesis","datum":"","snippet":"services/promatrac.py instaliran (448 linija) — LAGAN/TEZAK put, 2-of-3 konsenzus, fail-stop NE_ZNAM, ZAKON 38 TokenRouter · iznajmljivac/__init__.py + models.py + router.py — F0 izolacija, ZAKON 27 trinity (weise3_id+bunker_seal_id+created_at) · Alembic migracija 0023 pokrenuta — iznajmljivac_smjes","status":"DONE","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"implementacija","naziv":"F1B Iznajmljivač — Promatrač + Dashboard (fenix-v4)","sesija":"2026-06-03","status":"DONE","sto_je_napravljeno":["services/promatrac.py instaliran (448 linija) — LAGAN/TEZAK put, 2-of-3 konsenzus, fail-stop NE_ZNAM, ZAKON 38 TokenRouter","iznajmljivac/__init__.py + models.py + router.py — F0 izolacija, ZAKON 27 trinity (weise3_id+bunker_seal_id+created_at)","Alembic migracija 0023 pokrenuta — iznajmljivac_smjestaj + iznajmljivac_gost_prijava tablice live","main.py: iznajmljivac_router + promatrac_router registrirani pod /api/v4/","iznajmljivac_dashboard.html: P1-P6 patchevi — TABS, switchTab, sidebar, CSS Promatrač traka, HTML forma prijave, JS funkcije","JS: initPrijavaTab, pozovPromatraca, prijavaProvjeriSpremnost, prijavaOcisti, prijavaSubmit","gunicorn-fenix-v4.service restart — iznajmljivac: aktivan u logu","Zakon 0 audit proveden: fina-connect ima stari rental modul → Opcija B (v4 = novi izvor istine, fina-connect = ZIP ref)"],"faze":{"F0_brava":"DONE — company_id iz verificiranog tokena, row-level izolacija","F1A_arhiva":"DONE — savings metrika + path fix","F1B_iznajmljivac":"DONE — modul aktivan, dashboard spreman","F2_vozaci":"TODO","F3_radni_sati":"TODO","F4_porezni_obrasci":"TODO","F5_memio":"TODO"},"napomene":["Promatrač traka: p-traka, p-icon, p-tekst — pasivni AI prijedlog iznad forme","StatusPrijave enum: ocekivanje->prijavljen->aktivan->odjava->zatvoren (strogi tok)","API endpointi: GET/POST /iznajmljivac/smjestaji, GET/POST /iznajmljivac/prijave, PATCH /iznajmljivac/prijave/{id}/status, POST /promatrac/osvijetli","F0 test mreže još treba proći (firma A ne vidi firmu B) — preporučen eksplicitni test","MAR deploy potreban (git push + restart na MAR serveru)"],"zakon":["ZAKON 0","ZAKON 27","ZAKON 38","F0_brava_po_odnosu"]}}