{"id":"c1303","filename":"c1303_genesis_identity_contract_jedna_forma.dok.json","weise3_id":"","tip":"zakon","naziv":"§G Genesis Identity Contract — Jedna forma, jedan ugovor","kreator":"genesis","datum":"2026-06-09","snippet":"","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"zakon","naziv":"§G Genesis Identity Contract — Jedna forma, jedan ugovor","datum":"2026-06-09","zakon":[40,41],"sto_je_napravljeno":{"forma":"Jedna kanonska login forma deployed na /login/ (WebCrypto Ed25519, PBKDF2 100k, bez CDN, ZAKON 41)","redirecti":"Svi stari redirecti prebačeni na /login/?redirect=<path>","kill_lista":["popup.html → tombstone redirect na /login/","/auth/popup Next.js page → tombstone redirect na /login/","fenix-v4 _GENESIS_LOGIN_URL → /login/?redirect=/erp/hub"],"middleware":"Next.js middleware.ts: /erp/* bez genesis_token → /login/?redirect=<path>","nginx":"location /login/ → /var/www/genesis/public/login/ (već postojeće)","auth_protokol":"PBKDF2(tajna, SHA256(GENESIS::SALT::tajna)[:16], 100k) → Ed25519 seed → challenge/verify → genesis_token cookie"},"smoke_test":{"/login/ HTTP":"200 OK","/erp/arhiva redirect":"307 → /login/?redirect=%2Ferp%2Farhiva","/auth/popup tombstone":"200 (redirect JS)","challenge API":"challenge_hex vratio se","fenix-v4 /api/v4/companies":"401 (živ)"},"otvoreno":["Token unifikacija: fenix_access_token vs access_token cookie — nomenklatura","Kill lista: B-LOGIN (stara aktivacija) — provjeriti","Kill lista: per-app forme — popis i brisanje","session_token → genesis_token: pretraži cijeli codebase"],"§G_status":{"identity_contract":"✅ definiran","jedna_forma":"✅ deployed i živa","kill_lista":"⚠️ djelomično (popup + auth/popup + fenix-v4 URL gotovi; B-LOGIN i per-app forme čekaju)","401_ugovor":"❌ još nije ugrađen u fetch-wrapper","token_unifikacija":"❌ session_token još postoji na nekim mjestima"}}}