{"id":"c1254","filename":"c1254_c1_c2_auto_heal_2026_06_03.dok.json","weise3_id":"","tip":"implementacija","naziv":"C1+C2 izvršeno + auto_heal.sh (automatski popravci mesh-a)","kreator":"CC + Ivan Seki (odobrenje)","datum":"2026-06-03","snippet":"","status":"DONE","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"implementacija","naziv":"C1+C2 izvršeno + auto_heal.sh (automatski popravci mesh-a)","datum":"2026-06-03","autor":"CC + Ivan Seki (odobrenje)","status":"DONE","c1_stub_b":{"akcija":"Obrisan mrtav stub fenix-v4/arhiva/ (Django legacy, bez models.py)","backup":"/var/www/fenix-v4/arhiva.bak_20260603","provjera":"fenix-v4 import main OK, nema broken importa","zasto":"mrtav URL = tempirana rupa koja zaobilazi F0. Nema views.py, nema models.py.","server":"EU (217.160.71.124)"},"c2_rental_url":{"akcija":"fina-connect core/urls.py:648 rental/ → HttpResponseGone(410)","poruka":"Iznajmljivač preselio na: https://genesis.limit-connect.com/portal","provjera":"manage.py check 0 errors, lambda resolves na rental URL","zasto":"dva živa iznajmljivača = dvostruki izvor istine koji se razilazi. Stari fina_erp rental = Zdenko-rupa.","server":"NEW (31.70.90.84)"},"auto_heal":{"fajl":"/var/www/genesis/auto_heal.sh","integracija":"health_check.sh — pokreće se u OK i FAIL grani","popravci":["H1: recv-Q > 500 → systemctl restart genesis.service","H2: genesis.service dead → restart","H3: genesis_auth FAIL + nepotpun modul → rsync iz NEW + restart fenix-v4","H4: FenixDSA/Threshold endpoint FAIL → restart genesis.service","H5: gunicorn-fenix-v4 stopped → restart"],"logika":"FAIL grana: heal PRIJE slanja alerta. OK grana: heal tiho (preventivno). Alert se šalje i kad heal uspije — dokaz akcije.","cron":"svakih sat (5 * * * *) na EU, auto_heal se poziva automatski"},"arhiva_stanje":"DOKARH-2026 V2.0 = jedan izvor istine BEZ živih duplikata. C1+C2 zatvaraju jedinu preostalu rupu.","zakon":["ZAKON 0 — integriraš ne gradiš","ZAKON 32 — svaki fix ima chain entry"]}}