korakc0823
tipadr
sto_trebaDonijeti i implementirati arhitektonsku odluku: Genesis Login (Ed25519 + ML-DSA-65 JWT) postaje univerzalni nositelj identiteta za otvaranje SVIH .dokarh + PDF dokumenata. Cilj — globalno dostupni 'ljudski pogled' na bilo koji dokument u sustavu (BON, faktura, otpremnica, vaučer, dokaz...).
odlukaGenesis Login je centralna identifikacija. /view/{weise3_id} je univerzalni viewer dostupan na SVIM domenama (Spain proxy + EU + DE proxy).
sto_napravljeno[
"Kreiran /var/www/genesis/api/viewer.py (370 lin) — univerzalni HTML viewer za bilo koji EntityORM dokument",
"Endpoint: GET /view/{weise3_id} → renderira:",
" - Document tip + naziv + WeisE3 ID + status badges",
" - Sadržaj dokumenta (key-value payload table)",
" - PDF preview embedded (iframe) ako je BON ili PDF dokument",
" - QR kod za mobilno otvaranje",
" - Krunica chain info (blok_id, kreator, BunkerSeal, kreirano)",
" - Genesis identitet card s linkom na /login/?re
fajlovi_dirnuti[
"/var/www/genesis/api/viewer.py (EU + ES — novi 370 lin)",
"/var/www/genesis/main.py (EU + ES — register viewer_router)",
"/var/www/genesis/services/sudac_middleware.py (EU + ES — /view/ + /api/v1/bon/ u PRESKOCI)",
"/etc/nginx/sites-available/genesis-spain (ES — /view/ + /v/ + root redirect za evalidator + limit-connect + no-limit)",
"/etc/nginx/sites-available/digigraf (EU — /view/ proxy)"
]
globalni_test_rezultati{
"limit-connect.com": "200 OK, viewer HTML",
"evalidator.eu": "200 OK, viewer HTML + root redirect /login/",
"no-limit.world": "200 OK, viewer HTML",
"v4.limit-connect.com": "200 OK, viewer HTML",
"digigraf.online": "200 OK, viewer HTML (EU backend)",
"sati.ink": "404 — DE nema deploy (TBD: proxy → EU ili lokalan deploy)"
}
arhitektura_zakon_39_dopuna{
"naziv_zakona": "ZAKON 39 — BON + Universal Viewer + Genesis Login Identity Carrier",
"principi": [
"1. Svaki .dokarh dokument otvara se kroz /view/{weise3_id} — globalno",
"2. Genesis Login (Ed25519 keypair u browseru) = jedinstveni identitet za sve dokumente",
"3. Public dokumenti otvaraju se bez login-a (chain je istina)",
"4. Restricted dokumenti zahtijevaju Genesis Login challenge/verify potpis",
"5. Audit trail svakog pogleda u Krunici (kroz arhiva_v2 /audit endpo
v4_login_endpointi_potvrdjeni[
"GET /api/v1/genesis/auth/zdravlje",
"POST /api/v1/genesis/auth/register (V4 fenix-v4)",
"POST /api/v1/genesis/auth/registracija (ES Genesis FastAPI — duplicate email kreira novi identity)",
"POST /api/v1/genesis/auth/challenge",
"POST /api/v1/genesis/auth/verify",
"POST /api/v1/genesis/auth/recover (V4) i /fluid/obnovi (ES)",
"POST /api/v1/genesis/auth/biom/auth/options + /verify (WebAuthn FLUID L9)"
]
limit_globalne_dostupnostiEntityORM podaci nisu replicirani Spain ↔ EU. BON izdan na X serveru vidi se SAMO na X domeni. Long-term: Bršljan PULL sync mora replicirati EntityORM, ne samo .dok.json. Short-term: corp izdaje BON na onom serveru koji odgovara ciljnoj domeni za prikaz.
todo_sljedeca_iteracija[
"Bršljan EntityORM sync (Spain ↔ EU) — kritički za globalnu dostupnost",
"sati.ink /view/ proxy → EU (DE Plesk nginx update)",
"Login state na viewer-u (prikaz username + 'moji dokumenti' link)",
"Restricted dokumenti — auth gate (challenge/verify pre rendering payload)",
"Audit trail UI — viewer prikazuje 'tko gledao kada' (postojeći /api/v1/arhiva/audit)",
"OpenGraph meta tags na viewer-u (za WhatsApp/FB preview kad se share-a)",
"PDF download tracking (Krunica entry pri svakom
zakon_status{
"Z1": "OK — koristi postojeću infrastrukturu (EntityORM, qr_gen, archive endpoints)",
"Z11": "OK — sudac whitelist /view/ za public, restricted endpoints kroz auth",
"Z16": "OK — ODJELO koncept (PDF + .dokarh JSON) implementiran u viewer iframe",
"Z26": "OK — HTML template Pydantic-free za maksimum kompatibilnost",
"Z32": "ovaj entry je sam dokaz",
"Z37": "OK — BunkerSeal indikator vidljiv u viewer-u",
"Z39": "DOPUNA — viewer dio Z39 BON + Login sustava"
}
tagovi[
"adr",
"viewer",
"global-access",
"z39-dopuna",
"dokarh-universal",
"genesis-login-identity"
]