← DokArh Portal
korak_dokaz

Korak 4 recovery finish: ociscen bonus postgres UPDATE iz /recovery/vrati (crvena linija) + forgery-test (prag/token/smrt-starog/endpoint) + Marica-koherencija 4/4 — POKAZANO da radi na cistom kodu, E

Kreator: cc@genesis + ivan Datum: Status: GOTOVO — pokazano da radi (VRHOVNI). EU+ES, cisti kod, forgery 5/5 + Marica 4/4, errors=[].
WeisE3™ ID: 03297d74e6069131cd379599bbc5565e2b5e3e6d868c6cba8647d2e646ca5e88
tipkorak_dokaz
brojc1441
kontekstidentitet/recovery/korak4 / atlas_organa / bice_vs_odijelo
created_at2026-06-21T14:01:04+00:00
veze[ "c1432", "c1435", "c1437", "c1438", "c1440" ]
jezgraCisti kod (ukloni mrtvu granu) PA dokazi da recovery JOS stiti i da identitet ostaje isto bice kroz promjenu kljuca. 'Gotovo'=pokazano (VRHOVNI). recovery.py genesis_recovery.py konvergirani byte-identicno (sha f980ae5a) neovisnom istom transformacijom na oba cvora.
1_tech_clean{ "fajl": "api/genesis_recovery.py", "baseline_sha": "3c361e73a336ef4b...", "target_sha": "f980ae5a1ca5a4f6314c3a4c0c041fcf4e4617d44d58c6492db7d94aa6eee7dc", "uklonjeno": "try-blok 'Bonus: UPDATE genesis_identitet' (psycopg2, mrtva NEW-only grana, nije Fix A auth) + 2 zastarjela docstring spomena", "crvena_linija": "0 izvrsnih psycopg2/UPDATE genesis_identitet u fajlu; recovery NE pise u postgres identity store (.dokarh je istina, ZAKON 46)", "disciplina": "ZAKON 47 brava + baseline-
2_forgery_dokaz_oba_cvora{ "P1_prag": "podijeli(S,3,2): bilo koja 2 udjela obnove S, 1 udio NE obnovi (Shamir threshold stiti) — TRUE EU+ES", "P2_token": "verificiraj_recovery_token: tocan->True, kriv/prazan->False (const-time, fail-closed) — TRUE EU+ES", "P3_smrt_starog_service": "nakon persist_vrati_dokarh(w3,pk_new): stari_pk->dohvati=None(MRTAV), novi_pk->ZIV isti weise3 — TRUE EU+ES", "P4_http_live": "LIVE /auth/verify: novi kljuc->200 (weise3==w3), STARI kljuc->401 (c1432 gate), bez Sudac-diverzije — TRUE
3_marica_koherencija_4od4{ "1_dokarh": "weise3_id NEPROMIJENJEN, public_key_hex PROMIJENJEN, stari u historiji — TRUE", "2_authz_dokarh": "pristup_tenantima + marker prezivjeli recovery u dokarhu (keyed po weise3) — TRUE", "3_sesija": "stara sesija invalidirana recoveryjem, novi login veze ISTI weise3 — TRUE", "4_biom": "device record (store-level, db=1) prezivio recovery, keyed po weise3 ne po kljucu — TRUE (assertion-level blokiran c1421 Membrana)", "verdikt": "4/4 organa slijede isti weise3 nakon recovery —
4_NALAZ_authz_osoba_pubkey_keyed{ "nalaz": "MJERENO: session tenant_scope (osoba-sloj) vadi se preko aliases['pubkey:{pk}'] u genesis_auth.py (verify) — PUBKEY-keyed, NE weise3-keyed.", "posljedica": "Nakon recovery/rotacije kljuca, korisnik s osoba-tenant pristupom LOGINA (weise3 stabilan) ali tenant_scope bi bio prazan dok se alias 'pubkey:{novi_pk}' ne azurira. dokarh-atributi (keyed po weise3) prezive; osoba-alias sloj NE.", "klasa": "ista obitelj kao rotacija 'dodaje-ne-mice' (vidi project_rotacija_opoziv_defekt). N
5_granica_reverzibilnost{ "fluid_auth_nedirano": "containment (c1439) netaknut; genesis_auth.py i FLUID nedirani ovim korakom", "anchors": ".bak.k4* zadrzani na oba cvora (rollback na 3c361e moguc)", "blast_radius_testa": "1 test identitet po cvoru, potpuno ociscen (cleanup_verify: dokarh_obrisan=True, novi_pk->nista=True, errors=[])" }
statusGOTOVO — pokazano da radi (VRHOVNI). EU+ES, cisti kod, forgery 5/5 + Marica 4/4, errors=[].