{"id":"c1432","filename":"c1432_rotacija_recovery_presuda.dok.json","weise3_id":"7b52968bf4f7676bbd1e6134773cf7a66b230e906dccae54e7e5e4acc2586c26","tip":"presuda","naziv":"Rotacija/recovery presuda+plan (ZAKLJUCANO) — korijen=verify AUTO-CREATE; weise3 pohranjen/stabilan; politika GATE; fix=Opcija A reuse recovery primitiva","kreator":"cc@genesis","datum":"","snippet":"","status":"PRESUDA+PLAN ZAKLJUCAN — mjereno (kod+ponasanje+brojke). EPIC NIJE ZAPOCET. Ceka Ivanov POSEBAN enter. Kad krene: ZAKON 47 (brava+baseline+.bak+rollback), ES prvo, GATE prije forgery-testa, atomicnost verify-pa-upisi.","prev_weise3":"","bunker_l":"#596dc8","full":{"tip":"presuda","broj":"c1432","status_zakljucan":true,"naziv":"Rotacija/recovery presuda+plan (ZAKLJUCANO) — korijen=verify AUTO-CREATE; weise3 pohranjen/stabilan; politika GATE; fix=Opcija A reuse recovery primitiva","kreator":"cc@genesis","kontekst":"genesislogin_identitet_prvi / rotacija_recovery","created_at":"2026-06-21T04:50:07+00:00","veze":["c1422","c1431","c1234"],"jezgra":"Rotacija mrtva na kanonu (503: nema tablice/drivera; i da postoji, no-op jer verify ne cita postgres). Mjereno kod+ponasanje (ES=EU bajt-identican, CODEHASH 7af27df9770dc802) + brojke (EU,NEW). Recovery VEC ispravno (Opcija A) — rotacija ga samo treba reuse-ati.","korijen_PRECIZAN":"weise3_id je POHRANJEN u dokarh (verify vraca identitet['weise3_id']; rotacija/recovery mijenjaju public_key_hex NE dirajuci pohranjeni weise3) -> weise3 je VEC STABILAN. Stvarni bug: verify AUTO-CREATE re-derivira ID iz trenutnog kljuca na promasaj i prepise fajl natrag. Kontradikcija nije 'ID=hash(kljuc)' nego auto-create koji recompute-a.","dva_sloja":{"identitet_auth":"weise3=hash(pubkey) POHRANJEN, file media/identiteti/ (EU=181). dohvati_identitet mecira public_key_hex, vraca pohranjeni weise3. verify auto-kreira na promasaj = BUG.","osoba_overlay":"osoba_wid=hash(ime+OIB) stabilan person-level (media/osobe, EU=19: 3 realan OIB/14 test/2 prazna). Sluzi za AUTHZ (pristup_tenantima). NE za authn."},"mjera_A_auto_create_NAMJERA":"PRESUDENO NESVJESTAN (3 neovisna signala): (1) eksplicitni /registracija put postoji + SDK ga zove (challenge ~11x, auth/verify 2x, registracija 2-4x, biom ~20x, navigator.credentials) — open-mreza ne bi imala zaseban namjeran registracijski put; (2) verify auto-create radi HALF-IDENTITET bez recovery setupa (5 recovery-poziva u registracija/rotacija/biom, 0 u verify) — namjeran sustav ne pravi neoporavljive identitete; (3) nula dokumentirane namjere (grep prazan).","POLITIKA_GATE":{"odluka":"GATE (Ivan, zakljucano). verify samo verificira; nepoznat kljuc -> 401; registracija ostaje eksplicitna (/registracija).","obrazlozenje":"Gate nije promjena politike nego uklanjanje slucajnog ponasanja koje krsi vlastiti model (identitet bez recovery puta je neodrziv).","USKA_PROMJENA_OBAVEZNA":"Gate = na promasaj u dohvati_identitet -> 401 UMJESTO kreiraj. NISTA drugo u verify se ne dira. verify I DALJE mora primiti SVAKI registrirani kljuc. NE formulirati kao 'verify postaje restriktivan' — to bi slomilo legitimne identitete."},"mjera_B_recovery_VEC_OPCIJA_A":"NAJBOLJA VIJEST: recovery shareovi keyani po weise3_id (STABILNO, ne pubkey): TAJNA::{weise3_id}::..., pohrani_udio(korisnik_id=weise3_id) -> recovery NALAZI vlastite shareove nakon gubitka kljuca. persist_vrati_dokarh VEC radi dokarh-native in-place update public_key_hex keyan po weise3_id cuvajuci weise3 = Opcija A vec implementirana i ziva na recovery strani. POSLJEDICA: rotacija NE treba novi mehanizam — reuse persist_vrati_dokarh s drugim okidacem.","biom":"device-bind keyan na genesis_id=weise3. Preziva rotaciju AKO weise3 ostaje stabilan (in-place). 'Atoman L1+biom' = 'rotacija mora ocuvati pohranjeni weise3', NE re-key biom.","osoba_anchor_ODBACENA":"Ivanova teza 'spoji verify na osoba_wid' RAZMOTRENA i ODBACENA mjerom: samo 14/181 ima pubkey->osoba alias; 167 osoba-less (anonimni) -> re-anchor authn na osobu bi ih slomio + vezao ID na OIB (otrov za self-sovereign). Osoba = authz overlay, kriva kao authn sidro.","EPIC_PLAN_RANGIRAN":["1. GATE auto-create — PREDUVJET (bez njega forgery-test lazno pada: stari kljuc prolazi jer ga auto-create docek). Uska promjena (miss->401).","2. OBRISI mrtvu postgres granu (psycopg2 import + SELECT/UPDATE genesis_identitet) — da CRVENA LINIJA bude fizicki neprekrsiva (ne mozes zalijepiti na tablicu koje nema).","3. ROTACIJA = reuse persist_vrati_dokarh (in-place public_key_hex, cuvaj weise3) okinut STARIM-KLJUCEM. ATOMICNOST OBAVEZNA: verificiraj-potpis-starim-PA-upisi-ili-NISTA (obrnut/ne-atoman redoslijed bi upisao novi kljuc bez dokaza vlasnistva = gore od mrtve rotacije). + FORGERY-TEST 3 uvjeta: (a) stari->401, (b) novi->200+ISTI weise3, (c) biom uredjaji registrirani prije rotacije i dalje rade poslije.","4. RECOVERY = vec vecinom ispravan (Opcija A); naslijedi GATE + forgery-test (stari kljuc->401 nakon recovery)."],"REDOSLIJED_ES_DEPLOY":"Unutar ES (≡EU): GATE live PRVO -> tek onda rotacijski forgery-test ima smisla. Inace mjeris sustav koji se jos brani auto-createom i lazno zakljucis da rotacija ne radi.","PARKIRANO_posljedica":"167/181 osoba-less identiteta su half-identiteti (auto-create, bez recovery). GATE sprjecava NOVE; postojecih 167 ostaju. NAKON gate-a: izmjeri koliko je test-artefakt (cisti se) vs stvarno (migracija na pun identitet ili svjesno odbacivanje). NIJE blocker, ali poznata posljedica — ne otkriti kao iznenadjenje za 3 tjedna.","urgentnost_MJERENA":"DUG, ne pozar. EU: tablica ne postoji. NEW: 23 reda genesis_identitet SVE test (0 realan OIB, sve iz 2026-06-01/02). Nula produkcijske rotacije. Pre-beta.","CRVENA_LINIJA":"NIKAD ne lijepiti verify na genesis_identitet. Na kanonu tablica NE POSTOJI; mrtva NEW-only grana KRIVOG modela. Brisanje (korak 2) cini crvenu liniju fizicki neprekrsivom.","ISPRAVAK_TRAG":"Prva verzija c1432 formulirala opseg kao 're-anchor na osoba (srednji)'. Dvije mjere koje je Ivan zahtijevao PRIJE cementiranja oborile su je (weise3 vec stabilan + 167 osoba-less). Repotvrdjena Opcija A. Dokaz != dogovor (ZAKON 48): mjera spasila od zacementiranog krivog korijena.","status":"PRESUDA+PLAN ZAKLJUCAN — mjereno (kod+ponasanje+brojke). EPIC NIJE ZAPOCET. Ceka Ivanov POSEBAN enter. Kad krene: ZAKON 47 (brava+baseline+.bak+rollback), ES prvo, GATE prije forgery-testa, atomicnost verify-pa-upisi.","weise3_id":"7b52968bf4f7676bbd1e6134773cf7a66b230e906dccae54e7e5e4acc2586c26"}}