{"id":"c0965","filename":"c0965_zakon17_26_eu_new_fix.dok.json","weise3_id":"","tip":"fix_zakon","naziv":"ZAKON 17+26 fix — EU i NEW serveri","kreator":"CC+Ivan","datum":"2026-05-18","snippet":"","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"fix_zakon","naziv":"ZAKON 17+26 fix — EU i NEW serveri","sto_treba":"Riješiti ZAKON 17 (health.json agent_id) i ZAKON 26 (schema contract) na EU i NEW","faze":[{"naziv":"Dijagnoza ZAKON 17","status":"DONE","opis":"Stari health_writer.py (PID 35475 EU, PID 570977 NEW) pisao stari format s ja.* nested. borg_protokol.py već piše ispravno. Problem: dva konkurentna writera, race condition."},{"naziv":"Fix EU — kill stari health_writer.py","status":"DONE","opis":"kill 35475 — stari health_writer.py ubijen. borg_protokol.write_health() preuzima, piše atomarno."},{"naziv":"Fix NEW — kill stari health_writer.py","status":"DONE","opis":"kill 570977 — stari health_writer.py ubijen na NEW serveru."},{"naziv":"ZAKON 26 fix — pub_upload_chunked.py","status":"DONE","opis":"Dodano ChunkUploadStatus TypedDict u api/pub_upload_chunked.py"},{"naziv":"pub_upload.py — MAX_MB i video/avi","status":"DONE","opis":"MAX_MB 20→500, dodano video/avi i video/x-msvideo MIME tipovi"}],"zakon":["ZAKON 17 — BORG Asimilacija","ZAKON 26 — Schema Contract"],"rezultat":{"eu_zakon":"Svi zakoni vrijede. Organizam je živ.","new_zakon":"Svi zakoni vrijede. Organizam je živ.","korijen_uzrok":"Dva konkurentna health.json writera. Stari health_writer.py koristio /api/v1/borg/health (aggregate_network) format. borg_protokol.write_health() jedini writer — atomarni tmp.replace() zapis."},"sesija":"2026-05-18","autor":"CC+Ivan","nastao":"2026-05-18"}}