← DokArh Portal
arhitektura_spec

Arhiva Svih Arhiva — Party-Role atom model · dva sučelja · QR most · AI maksimum · UI/UX 13/10

Kreator: Ivan Brtan + CC (Sonnet) Datum: 2026-06-06 Status: SPEC ZAPISAN — čeka odluku o redoslijedu gradnje (F0 čišćenje preporučeno prvo)
WeisE3™ ID: (nema)
tiparhitektura_spec
cNNNNc1264
citat_vlasnikaOd ideje do lokomotive. Možda će u budućnosti biti zanimljiv pristup. Cilj: AI do maksimuma, korisničko iskustvo 13/10 — kako, to ti znaš.
svrha_trojna[ "CC task — što treba izgraditi (mašina čita faze)", "User dokumentacija — što je odlučeno i zašto (čovjek čita na /v/{id})", "Povijesni zapis — od ideje do lokomotive (lanac pamti razvoj misli)" ]
sazetakArhiva Svih Arhiva = jedan globalni core (atom-model + bridovi + lanac) koji se 'oblači' po korisniku, kao POS uređaj. Entitet se zapiše JEDNOM u niz, pa mu se kače naljepnice (uloge/bridovi) koje ga povezuju. Dva sučelja nad istim kodom — knjigovodstveno (svi komitenti) i korisničko (samo svoji pod
filozofija{ "jedan_atom_jedan_entitet": "Osoba se zapiše jednom. 'Vlasnik u firmi A', 'kupac u B', 'učitelj u C' su BRIDOVI/naljepnice, ne novi zapisi. Firma je dobavljač jednome, kupac drugome — isti atom, drugi brid.", "oblaci_se_po_potrebi": "Isti pozadinski kod. UI se presvlači po ulozi: knjigovođa-skin, komitent-skin, vozač-skin, odvjetnik-skin. Kao POS.", "lanac_pamti": "Svaki atom je WeisE3-zapečaćen + u lancu. Golden record koji je kriptografski nepromjenjiv, a bridovi dokazivi." }
model_podataka{ "ime_u_struci": "Party-Role pattern + Golden Record (MDM) + Property Graph", "atom": { "danas": "ArchiveDoc.company_id (tenant)", "cilj": "entity_id — jedan tip entiteta s 'vrstom' (firma | osoba | vozac | ustanova)", "polja_jezgre": [ "weise3_id", "bunker_seal_id", "entity_id", "vrsta", "created_at" ] }, "brid_naljepnica": { "opis": "Povezuje atom s kontekstom i nosi pristup + vrijeme", "polja": [ "od_entity_id", "do_en
kako_veliki_rade{ "SAP": "Business Partner (BP) — jedan zapis, uloge (FLCU kupac, FLVN dobavljač). Desetljećima migrirali SA odvojenih tablica NA jedan BP jer je dupliciranje propalo.", "Salesforce_Dynamics": "Account + Contact + junction objekti za odnose.", "MDM": "Golden Record — zapiši jednom, deduplikiraj, kači atribute/uloge.", "Graf_baze": "Property Graph — čvor + označeni bridovi = naše 'naljepnice'.", "Silverston": "Party / Party Role model (1997) — točno naš pristup.", "zakljucak": "Naš mo
tri_zamke[ { "zamka": "Identity resolution (dedup)", "rizik": "Aljkavo prepoznavanje 'ista osoba?' prije upisa → dupli atomi → model pada.", "rjesenje": "Jak ključ OIB/JMBG + AI fuzzy match za one bez. AI provjera prije upisa (ZAKON 38)." }, { "zamka": "Vidljivost po ulozi", "rizik": "Tko je 'vlasnik u A, kupac u B' ne smije vidjeti tuđe.", "rjesenje": "Pristup na bridu, ne na atomu. Tenant izolacija po entity_id (temelj: SECURITY REVERT lista vraća [] bez entity_id)." },
dva_sucelja{ "A_knjigovodstveno": { "vidi": "SVE komitente (company/entity switch, umbrella)", "akcije": "knjiženje, slanje, izvještaji, QR token generiranje", "platforma": "desktop / ERP", "template_danas": "templates/archive/list.html" }, "B_korisnicko": { "vidi": "SAMO svoje podatke (izolacija entity_id)", "akcije": "upload (hrani sustav), status, pregled originala", "platforma": "mobilni / scan token", "template_danas": "templates/archive/erp_arhiva.html", "pri
qr_most{ "opis": "Knjigovođa generira QR token za komitenta → komitent skenira → slijeće na svoje izolirano sučelje → hrani dokumente → knjigovođa vidi.", "postoji_vec": "/archive/scan/{token} + createToken() + QR PNG endpoint", "mrezni_efekt": "Svaki komitent koji skenira QR → hrani sustav → može postati Bršljan čvor (širenje mreže samo od sebe)." }
dokarh3_dokaz{ "opis": "Holografski dual-cam dokaz (dvije kamere, parallax, PRNU) = DOKAZNI MATERIJAL.", "model": "Samo još jedna naljepnica na istom atomu: doc_category = dokaz. Bogatiji proof payload.", "korisnici": [ "vozači", "odvjetnici", "bilježnici" ], "vazno": "Ne novi sustav — nova VRSTA na istom kodu." }
psiholoske_opcije{ "compare_original": "Usporedba: učitano/uslikano ↔ obrađeni original (BeforeAfterCard).", "zasto": "NIJE ukras — to je POVJERENJE. Korisnik vidi svoj original pokraj obrađenog → 'nije izgubljeno, evo dokaza'. Ključni psihološki element koji veliki nemaju.", "kod": "Već postoje kuke: obradeni_content_type, entity_id=id za BeforeAfterCard. VRATITI maknuti 📄 gumb 'Pogledaj fajl'." }
ai_maksimum{ "princip": "AI do maksimuma — sve kroz ZAKON 38 TokenRouter (tiered ekonomija).", "znacajke": [ { "f": "OCR + ekstrakcija", "tier": "T2 Sonnet", "opis": "dobavljač, broj, iznos, datum, OIB" }, { "f": "Auto-klasifikacija doc_category", "tier": "T0 Haiku", "opis": "faktura/ugovor/dokaz/porez" }, { "f": "Auto-knjiženje prijedlog", "tier": "T2", "opis": "konto prijedlog, delta < 0.01 EUR → Marija amen" }, {
ui_ux_13_10{ "cilj": "13/10 — ne 10/10. Bolje od svega na tržištu.", "obavezno": [ "Light/Dark theme toggle na SVAKOJ stranici (ZAKON memorije — bez iznimke)", "Mobile-first, zero-friction upload (kamera / share / drag&drop)", "Real-time status: pending → OCR u tijeku → obrađeno (live)", "Before/After compare — original pokraj obrađenog (povjerenje)", "QR onboarding u 2 dodira", "Liveness (S1) SAMO na akcijama s posljedicom: naplata, slanje, knjiženje, spaljivanje, potpis",
faze[ { "faza": "F0", "naziv": "Čišćenje", "zadaci": [ "Riješi 3 nesnimljene izmjene (models.py, router.py, erp_arhiva.html)", "Razriješi archive/ vs arhiva/ vs DEAD_STUB — jedan izvor istine", "Vrati 📄 compare-original gumb" ] }, { "faza": "F1", "naziv": "Atom model → entity_id", "zadaci": [ "company_id → entity_id + vrsta", "Brid/naljepnica model (uloga, pristup, valjan_od/do)", "Migracija" ] }, { "faza": "F2", "
zakoni[ "ZAKON 2 (Bršljan)", "ZAKON 3 (Trojna pohrana)", "ZAKON 26 (Schema contract)", "ZAKON 27 (Model trinity)", "ZAKON 38 (Token economy)", "ZAKON 40 (GenesisLogin)", "ZAKON 43 (Krunica svugdje)", "S1 (Liveness)", "S2 (Naziv: Poslovna arhiva)" ]
povijest_od_ideje_do_lokomotive[ "ISKRA: Ivan — 'gradimo dva sučelja: knjigovodstveni i korisnički, povezana QR-om, jedan globalni kod'.", "PROŠIRENJE: njemački povrat poreza za cijelu obitelj = isti modul; entitet = bilo tko (komitent, član obitelji, vozač).", "UVID: dosadašnja praksa — jedan atom po entitetu, naljepnice se kače poslije; ista osoba je vlasnik/kupac/učitelj kroz bridove.", "POTVRDA: to je Party-Role + Golden Record + Graph — točno kako SAP/Salesforce/MDM rade; mi smo iznad jer je atom u lancu.", "PO
statusSPEC ZAPISAN — čeka odluku o redoslijedu gradnje (F0 čišćenje preporučeno prvo)