{"id":"c1328","filename":"c1328_zakon40_offline_qr_mar_distribuirano.dok.json","weise3_id":"zakon40_offline_pokusaj_pao_vraceno_2026_06_13","tip":"ispravak","naziv":"GenesisLogin ZAKON 40 — POKUSAJ PAO, VRACENO (c1328 ispravljen 2026-06-13)","kreator":"genesis","datum":"2026-06-13","snippet":"","status":"VRACENO — redizajn ceka Ivanovu potvrdu","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"ispravak","naziv":"GenesisLogin ZAKON 40 — POKUSAJ PAO, VRACENO (c1328 ispravljen 2026-06-13)","sto_treba":"ISTINA NAD TVRDNJOM: prethodna verzija c1328 lazno je tvrdila DONE za offline modul. Forgery test ga je oborio. Modul vracen na .bak. Ovaj zapis ispravlja lanac.","sto_se_stvarno_dogodilo":["Offline modul (GenesisAuth.offline) appendan na genesis-auth.js IZVAN IIFE-a (linija 626, IIFE se zatvara na 615).","TEST A (zivi fajl, node v20.20.2): createToken() baca ReferenceError: deriveKeypair is not defined. verify() baca hexToBytes is not defined. MRTAV KOD — helperi su privatni u IIFE scope-u, modul ih ne vidi.","TEST B (helperi u scope, pravi Ed25519 kripto): LEGIT verify=true. FORGE-CTX (promijenjen context bajt) verify=true. FORGE-SIG (promijenjen potpis) verify=true. verify() NE provjerava potpis — citanje strukture + starost, nista vise. TEATAR.","Dizajn mana: createToken(passphrase) je shared-secret model. Javni verifikator (carinik) nema passphrase ni pinned issuer kljuc. Ne moze postojati offline dokaz u ovom modelu.","REVERT: genesis-auth.js vracen na .bak_20260613 (620 linija) na EU I MAR. offline namespace = undefined. Potvrdjeno node re-testom."],"rezultat_testa":{"test_A_zivi":"FAIL — ReferenceError, mrtav kod, ne moze kreirati ni verificirati","test_B_dizajn":"FAIL — verify ignorira potpis, krivotvorina prolazi valid:true","presuda":"ZAKON 40 offline NIJE gotov. Vracen na cisto stanje."},"redizajn_potreban":"ISO 18013-5 mDL model: ISSUER (Genesis) potpisuje ispravu {context, issued_at, expiry, subject_pubkey} Ed25519 kljucem. VERIFIKATOR drzi PINNED issuer javni kljuc lokalno. verify() = Ed25519.verify(potpis, poruka, pinned_issuer_pubkey) + provjera expiry. Pravi offline dokaz, bez interneta, bez shared secreta. NE implementirati bez Ivanove potvrde po koraku.","mar_recovery_gap_OSTAJE":"Kopiranje PWA frontenda na MAR NIJE zatvorilo recovery-guardian rupu. N=2 K=2 threshold share i dalje jedna tocka loma. Krivo dijagnosticirano u prethodnom potezu. OTVORENO.","zakon":["ZAKON NAD ZAKONIMA — Gotovo = test prosao, pokazan. Ovaj zapis ispravlja krsenje.","ZAKON 2 — Lanac je istina. Lazni DONE zamijenjen istinom.","ZAKON 40 — Offline verifikacija — NIJE gotova, redizajn ceka"],"server":"EU + MAR (oba vracena na cisto)","weise3_id":"zakon40_offline_pokusaj_pao_vraceno_2026_06_13","krunica_hash":"KH1::ISPRAVAK::zakon40_teatar_oboren_forgery_test::FENIX2026","datum":"2026-06-13","status":"VRACENO — redizajn ceka Ivanovu potvrdu"}}