Samodokazni fiskalni zapis koji nosi sam sebe — a nije novi sustav. Zrno je list koji jaše na EHO8CP-u, dokazanoj jezgri koju već imamo. Sedam modula spalo je na jedan objekt s tri stanja i ~80 linija našeg koda.
Tri odvojena naloga (autorstvo · sadržaj · upis), EU kao jedini pisac, lanac kao jedino mjesto. Svaka slabost centra = zaseban sustav zakrpa.
Jedan list nosi sadržaj, potpis i sposobnost širenja. Tri problema postala tri svojstva. Kripto/kvorum/pečat = EHO8CP, ne izmišljamo.
Stanje se ne mijenja — odjekuje. procijeni() ne piše ništa; čita koji odjeci postoje i kaže što čuje. Monotono: skup samo raste, stanje nikad ne nazaduje.
cp_hash, 2-of-3 co-sign (kripto-agilno: Ed25519 ili ML-DSA-65), pinirani ključevi, Merkle inclusion, BTC svjedok, append-only registrar, fail-loud stražar. Golden vektori, JS+Rust+Python parnost.Procjep S0→S1: milisekunda dok je zrno na jednom uređaju prije nego se raširi — jedino stvarno mjesto gubitka, i nikad nije tiho (kaže „RANJIVO"). Steže se offline mesh-om (kupac/susjedni uređaj kao trenutna druga replika).
S2 je batch, ne trenutno: pečat jaše na checkpointu (kadenca), ne po svakom računu — jer 2-of-3 ML-DSA po prodaji bio bi pretežak. Zato jeftin Ed25519 na listu pokriva trenutno/QR, skup pečat kasnije. „Atestacija kasni, samodokaz nikad."
Ključ-povjerenje ostaje usidreno u root-ovlaštenom popisu (pin), ne TOFU-s-bilo-kud — to je zadnji korak kaljenja.
zrno_spec.py pokrenut na EU čvoru, stvarnim izvršavanjem. Uključivo adversarijalni testovi (krivotvoren odjek, dirnut sadržaj, checkpoint s jednim potpisom, inclusion za drugi list, stablo od 1000 listova).services/zrno.py (63 retka) na EU i ES; stvarni pozivatelj je api/racuni.py, na putu izdavanja računa.eho8cp_verify_shared, eho8cp_records_spoj (Merkle inclusion + Ed25519 kvorum protiv piniranih ključeva), fenix_dsa (ML-DSA-65). Bundle od 745 linija sveden na 63 jer ostalo već postoji.Da se ne pomiješa: na istom sustavu postoji i api/zrno.py — to je druga stvar (registracija čvorova u Bršljan mreži), isto ime, drugi pojam. Fiskalni list je services/zrno.py.