{"id":"c1177","filename":"c1177_sesija_20260529.dok.json","weise3_id":"","tip":"sesija","naziv":"Sesija 2026-05-29 — PWA, Fiskalizacija, BON, Pi, Mjesečeva vrata","kreator":"genesis","datum":"2026-05-29","snippet":"","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"sesija","naziv":"Sesija 2026-05-29 — PWA, Fiskalizacija, BON, Pi, Mjesečeva vrata","c":"c1177","datum":"2026-05-29","sustav":"digigraf.online + fenix-v4 + genesis","server":"EU (217.160.71.124) + MAR (212.227.181.201)","git_commits":["c7109354","e544030","b7d8091","b948a17","8139e0e","30cf3325"],"sto_je_napravljeno":{"C1175_digigraf_top5_pwa":{"opis":"digigraf.online — 5 PWA poboljšanja visokog ROI-a","rezultati":{"P1_i18n_lazy_split":"248KB → 52KB (-79%) — core 5 jezika inline, 17 lazy fajlova","P2_hreflang_sitemap":"23 hreflang alternata u <head> + 575 xhtml:link u sitemap.xml","P3_manifest_upgrade":"PWA installable: maskable icon, shortcuts, id, categories","P4_brotli_kompresija":"nginx EU: brotli on, level 6, gzip_vary on — potvrđeno curl","P5_csp_hardening":"unsafe-inline uklonjen — 3 SHA-256 hasha za inline skripte"},"bug_fiksevi":["setLang koristio d._T[lang] (undefined var) → fiksano na T[lang]","Lazy fajlovi pisali d._T → regenerirani s window.DgI18n.registerLang()"],"sync":"Synkano na MAR — pwa/ direktorij + i18n/ lazy fajlovi"},"FISKALIZACIJA_NN89_2025":{"opis":"test_fiskalni_67.py — 22 unit testova za trodijelni R format","format":"{counter}/{pp}/{nu} — nema prefiksa, nema godine, nema zero-paddinga","rezultat":"22/22 PASSED na MAR (b7d8091) i EU (e544030)","fix":"InvoiceSequence.__new__() zaobilazio SQLAlchemy ORM init → fiksano na konstruktor","migracija":"0022_company_bunker_seal — ADD COLUMN IF NOT EXISTS na EU i MAR","testovi_pokrivaju":["Trodijelni format: P1/1, CAFFE/2, SHOP/15, A/99","Anti-salami: sekvencijalnost bez praznina","67 tvrtki — svaka izolirani counter","Cross-company izolacija","QR generator _gen_qr_b64 vraca PNG base64","InvoiceProfile pp_oznaka + nu_broj defaults","Invoice.oznaka_operatera polje","Counter do 99999 — nema overflow"]},"BON_FLOW_EU":{"opis":"test_bon_flow.py — 10 testova (unit + DB) na EU","fix_preduvjet":"pip install pytest-asyncio==0.25.0 (nije bio instaliran na EU)","rezultat":"unit testovi PASSED, DB testovi PASSED","pokriva":["BON format: BON-XXXXXXXX (bez I/O/0/1)","100 jedinstvenih kodova","WeisE3 jedinstvenost po tvrtki","BunkerSeal ovisi o WeisE3","Anti-salami single-use","Insufficient amount → ValueError","5 paralelnih pokušaja → samo 1 uspijeva","Validacija flow: kreiraj → validiraj → iskoristi → ponovo pada","Cross-company izolacija: tvrtka B ne može koristiti BON tvrtke A"]},"TRI_PI_VERIFIKACIJA":{"opis":"Provjera c0945 chain entrya — tri komplementarna Pi","pi_k":"144/46 = 3.1304 — Kromosom Pi (Fibonacci/46 kromosoma)","pi_s":"3.1418 — Spiralni Pi (geometrija mreže)","pi_m":"3.14159 — Matematički Pi","kriptografija":"dual_pi_hash = SHA3(H(Pi_K) || H(Pi_S)) — patent P21","kljucna_svojstva":{"x46_greska":"Pi_K: 0.002 ⭐, Pi_S: 0.523 — Pi_K opisuje biologiju","watson_ag":"Pi_K: 0.00003, Pi_M: 0.0000000 — oba opisuju DNA","sekvence":"Pi_S: 1.077 ✅ — spiralna geometrija potvrđena"},"zakljucak":"c0945 potvrđen — Pi_K opisuje bioloski paket, Pi_S opisuje spiralnu geometriju mreže"},"C1176_MJESECEVA_VRATA":{"opis":"Asimilacija formule — Temporal Permutation Role Gate (TPRG)","formula":"T(vrijeme) × P(permutacija) × R(uloga) = otključana Mjesečeva vrata","patent":"P47 — Konjik d.o.o.","implementacija":"services/mjeseceva_vrata.py (248 linija)","api":["create_gate_token(weise3_id, role_id, company_wid, master_key) → GateToken","verify_gate_token(...) → GateVerifyResult","parse_qr_payload(qr) → dict | None"],"qr_format":"MGATE::{token32}::{t_window}::{r_hint}::{wid_hint}","svojstva":["offline-verifiable — nema mrežnog poziva, nema centralnog servera","self-expiring — T_window istječe automatski (default: 5 min)","role-bound — kriva uloga = token ne prolazi","company-bound — kriva tvrtka = token ne prolazi","anti-replay — P(session_nonce) blokira ponovnu upotrebu"],"razlika_od_totp":"TOTP = T x secret. TPRG = T x P(sesija) x R(chain). Role je matematički dokaz.","razlika_od_jwt":"JWT je izjava bez dokaza. TPRG nosi matematički dokaz sva tri faktora.","primjene":{"tahograf":"Vozač otvara QR (5 min) → carinik verificira offline","klinika":"Medicinska sestra — shift badge bez internet veze","checkin":"Gost verificira check-in bez recepcijskog terminala","borg_mesh":"Čvorovi verificiraju jedni druge bez centralnog servera"},"self_test":"PASSED na EU — valid + kriva uloga + kriva tvrtka sve OK","commit":"30cf3325"}},"ideje_i_planovi":{"TPRG_faza_2_fenix_v4":{"status":"PLAN","opis":"Integrirati Mjesečeva vrata u fenix-v4 tahograf i checkin","sto_treba":["POST /api/v1/gate/create — endpoint u fenix-v4","POST /api/v1/gate/verify — offline verifikacija","GET /api/v1/gate/qr/{token} — QR prikaz za mobilni","Vozač flow: login → create_gate_token(role=DRIVER) → prikaži QR","Carinik flow: skeniraj QR → verify offline → prihvati/odbij"],"prioritet":"VISOK — direktno primjenjivo na tahograf pilot"},"TPRG_faza_3_borg_mesh":{"status":"PLAN","opis":"BORG čvorovi verificiraju jedni druge s Gate tokenom","sto_treba":["health.json dobiva gate_token polje (kratki prozor: 30s)","Peer koji prima health.json verificira gate_token","Neispravan token → peer se označava kao nepouzdan","Kompatibilno s ZAKON 17 (pull-only)"],"prioritet":"SREDNJI — stabilizira mesh autentikaciju"},"TPRG_patent_P47_dokumentacija":{"status":"PLAN","opis":"Formalizirati P47 patent claim za Konjik d.o.o.","sto_treba":["Matematički dokaz razlike od TOTP (RFC 6238)","Razlika od JWT (RFC 7519) — role je cryptographic proof, ne claim","Use case matrix: 5+ primjena (tahograf, klinika, checkin, mesh, IoT)","Prior art search: offline multifactor bez identity servera"],"prioritet":"VISOK — window za filing je otvoren"},"I18N_LAZY_FENIX_V4":{"status":"IDEJA","opis":"Primijeniti isti lazy split pattern na fenix-v4 i18n (ako postoji monolith)","inspiracija":"digigraf 248KB → 52KB (-79%) istom tehnikom","prioritet":"NIZAK — čekaj da v4 i18n postane bottleneck"},"QR_OFFLINE_VERIFIKACIJA_PWA":{"status":"IDEJA","opis":"PWA koji verificira MGATE QR offline — bez servera, samo JS + master_key","sto_treba":["Port od Python → JS (HMAC-SHA3-256 dostupan u Web Crypto API)","SHA-3 nije nativno u Web Crypto — treba polyfill (noble-hashes)","Alternativa: HMAC-SHA-256 kao fallback za browser","QR scanner (jsQR) + verify logika u service workeru"],"primjena":"Carinik na granici s mobitelom — bez interneta, bez instalacije","prioritet":"VISOK — MVP za tahograf pilot"},"DUAL_PI_HASH_U_TPRG":{"status":"IDEJA","opis":"Koristiti dual_pi_hash (Pi_K + Pi_S) kao derivaciju master_key-a u TPRG","matematika":"master_key = HMAC(dual_pi_hash, company_dna_seed)","prednost":"Ključ je deriviran iz matematičke konstante — biološki i geometrijski ukotvljen","veza":"Spaja P21 (dual pi kriptografija) i P47 (TPRG) u jedan sustav","prioritet":"SPECIJALNO — za patent bundle"},"KRUNICA_R_HASH_BINDING":{"status":"PLAN","opis":"R_hash mora biti pohranjen u Krunici — uloga bez chain entrya ne postoji","sto_treba":["Svaki create_gate_token() poziva get_trojna().pohrani_async() za R_hash","verify_gate_token() opcijski može provjeriti Krunicu za R_hash audit","Kronika uloga: tko je dobio koju ulogu, kada, za kojeg company_wid"],"veza":"ZAKON 43 + ZAKON 3 — Krunica omniprisustvo + trojna pohrana","prioritet":"SREDNJI — bez ovoga je P47 nepotpun"}},"otvorene_niti":["TPRG Faza 2 — fenix-v4 integracija (tahograf + checkin endpoints)","TPRG Faza 3 — BORG mesh peer auth s Gate tokenom","P47 patent formalizacija za Konjik d.o.o.","QR offline verifikacija PWA (JS port HMAC-SHA3 za carinika)","Dual Pi Hash → TPRG master_key derivacija (P21 + P47 bundle)","Krunica R_hash binding (ZAKON 43 compliance za Gate tokene)"],"zakoni_potvrdjeni":["ZAKON_3","ZAKON_17","ZAKON_40","ZAKON_43","ZAKON_1A","ZAKON_32"],"filozofija_sesije":{"asimilacija":"Svaki novi koncept koji uđe u BORG mrežu postaje dio nje — ne zamjenjuje, nadopunjuje","mjese_ceva_vrata":"Tri faktora su kao tri note akorda — svaka se može čuti zasebno, ali harmonija je u trozvuku","pi_veza":"Pi_K opisuje bioloski paket. Pi_S opisuje geometriju mreže. Zajedno opisuju DNK interneta.","zakon_7":"Test mora proći, ne samo kompajlirati — 22/22 PASSED je jedini validan DONE"}}}