Jedna jezgra, četiri lica
Osam EHO verzija nastalo je rastom, ne planom. Danas ih objedinjujemo u jedan Rust crate koji se kompajlira za server, preglednik i mikrokontroler, i daje istu presudu na sva tri. Nije obećanje: dio već stoji, s hashom, na 50.000 testnih računa. Ostatak je zapisan kao hipoteza prije mjerenja.
Brojke se čitaju iz podaci/eho_v2_stanje.json (generira se iz lanca i testova, svakih 20 min)…
Što svaki EHO postaje
Izmjereno na EU, NEW i u laboratoriju: gdje verzija živi, je li deterministična, i koji modul jezgre je nasljeđuje. Nijedna se ne briše, svaka se zamrzava kao modul s imenom i golden vektorom.
otisak
32-bajtni fraktalni token (x, y, z, d). Isti raspored bajtova, ali vrijeme postaje ulaz, ne poziv sata.
vrijeme
φ-window i dual-Pi bez ijednog f64: Q32.32 aritmetika. Vremenski sendvič (h₁, h₂) za zapise rođene offline.
transport (ostaje JS)
Service worker no-limit.world. Ne prenosi se — uvozi eho_v2.wasm za provjeru krunice.
ne prenosi se
Benchmark s floatima i satom. Ostaje samo ideja: organi (Ribosom, Regulacija, VM, Sudac) postaju imena faza greške u sucu.
svjedok
Checkpoint: RFC 6962 Merkle, 146 B header, 2-of-3 Ed25519. eho8cp.rs prelazi bajt za bajt; Py i JS postaju orakuli.
sudac
Totalni deterministički stroj s gorivom i ensures. Treća implementacija iz istog spec-a; golden 62/62, isti SAZETAK kao Py i JS.
adresa
Prvi put u kodu: ključ lista (v1, firma, tip, h, atom), MMR po visini, dokaz potpunosti raspona i nečlanstva.
vrata
Fibonacci vrata kao čista funkcija (stanje, ishod) → (stanje′, kašnjenje). Redis ostaje u Python omotaču.
kod4d (zaseban crate)
Spirala, saće, prstenovi, fontana, čitač. Već izgrađen kao eho_v2_jezgra 2.0.0-alpha.1, preimenuje se u F1.
Jedno Zrno, četiri programa
Ispod fenixa, Memija, PayAlla i Genesisa stoji isti zapis: program koji ga je presudio, ulazi, potrošeno gorivo, presuda, dokaz uključenosti i svjedočeni korijen. Promijeni segment — mijenja se samo program. Podmetni cent — potpis i dalje valja, a replay pada. Nečitljiv list nije optužba.
Replay na rubu, bez baze, bez mreže
Što već postoji
Kod je nastao prije Faze 0, pa to i piše. Sve niže mjereno je na testnoj instanci (NEW :8015, baza fenix_v4_test, 83 tablice, Redis db 9, WAHA isključen, izolacija BindPaths). Produkcija je tijekom testiranja bila na 0056 i davala 200. Nakon Ivanova „da” 27.9. grana je prebačena (redak Promocija niže).
| Dio | Gdje | Dokaz | Stanje |
|---|---|---|---|
Rust crate eho_v2_jezgra 2.0.0-alpha.1 | EU paketi/eho_v2/jezgra/, Rust 1.96, x86_64 + wasm32, PyO3 abi3 | … | |
| Čitač slike bez OpenCV-a | isti crate | … | |
| Brzina čitača, 1 MB (pred-registrirano) | isti crate, 438 kadrova, iste slike za sve četiri izvedbe | … | |
| Brzina čitača, ponovljeno u čistim uvjetima | isto, bez istodobnog opterećenja EU (ne mijenja presudu H9c) | … | |
| Čitač u fenix-v4 bez numpy/OpenCV | POST /api/v1/eho/citaj-sliku, testna instanca | … | |
Python paket eho_v2 | EU paketi/eho_v2/, commit 1a6b32d708 | zlatni testovi 14/14 (Rust i čisti Python) · bit-identičan laboratoriju | GOTOVO |
| Testna instanca fenix-v4 | NEW fenix-v4-test.service :8015, grana eho-v2 | testni proces vidi testno stablo, produkcijski ne · obje DB veze → fenix_v4_test | IZOLIRANO |
| Migracija 0057 | ix_pos_racun_jir, ix_pos_racun_storno_jir, eho_presuda, eho_dokument | prvo test (184× na 50.000), zatim produkcija 27.9. (kopija baze prije, 41 račun netaknut) | K0 U PRODUKCIJI |
Rute /api/v1/eho/* | pos/eho_v2_racun.py (grana eho-v2) | … | |
| Testni skup T13 | tools/eho_v2_testni_podaci.sql | 50.000 računa (UUID JIR), 1.000 storna · odbija svaku bazu osim testne (dokazano RAISE na produkciji) | POSTOJI |
| Promocija u produkciju (Ivan „da” 27.9.) | NEW /var/www/fenix-v4 → e766de1, migracija 0057, Rust jezgra u venvu; brava Z47, boot-test Z57, kopija baze prije | … |
Devet faza, jedan hash na kraju
Svaka faza završava tripletom (naredba, exit kod, hash). Redoslijed izvedbe odstupio je od plana: kod4d i K0 krenuli su prije istine o kanonu. To je zapisano, ne skriveno — i pokazuje što tko ne dira (kod4d ne koristi WeisE3, PHI ni sat).
512 MB → 64 MB → 512 KB
Ista jezgra, tri cilja. Prva dva su put; treći je pravi izum: nitko ne verificira fiskalni zapis na mikrokontroleru bez interneta i bez sata.
Danas — Python
numpy + OpenCV čitač ≈ 150–250 MB RSS; eho9.js traži Node 22. Sudac 0,6 ms po presudi.
Rub i preglednik — wasm / native
eho_v2.wasm ≈ 0,3–1,5 MB (H9e kriterij ≤ 1,5 MB). Kupčev telefon replaya PDV offline. rubni2, X96, a16 kao potpuni čvorovi svoje firme.
MASKA 1.0 — ESP32-C6, no_std
Odluka 27.9.: C6 umjesto C3. LP jezgra drži LoRa prijem u snu, 802.15.4 kao drugi radio put. Samo svjedok::verify_2of3 + sudac::izvrsi (AST ≤ 4 KB). Zrno rođeno na modemu s ugrađenim h₁.
Brojke
H9a · kodiranje 4D koda
H9c · čitač po kadru, 1 MB
T13 · upit po JIR-u, 50.000 računa
T13 · presuda iz skladišta (P3)
Testni podaci · računi
Gdje Rust ne pomaže
Što još ne drži
Zaključani čitač: kriterij promašen za dlaku
Rust ne ubrzava ono što je u OpenCV-u već C/SIMD. Puni čitač je … brži jer ukida Python petlje. Zaključanom je vrijeme odlazilo na predobradu slike. Prepisana je u redoslijedu redaka i po trakama na jezgre, pa je pala sa ~180 na ~40 ms po kadru na miru. Pred-registrirano mjerenje na 1 MB ipak je dalo … uz kriterij ≥ 5×, pa je H9c PAD. Skripta je taj omjer prvo zaokružila na 5,0 i ispisala PROLAZ. Greška je nađena i ispravljena: kriterij se uspoređuje s nezaokruženim brojem. Za vrijeme mjerenja EU je bio opterećen, uključujući zaglavljeni proces od 19.9. na 100 % jedne jezgre, koji je nađen i ugašen. Ponovljeno mjerenje u čistim uvjetima stoji zasebno i ne mijenja presudu.
Dva WeisE3 kanona
eho7-core koristi WEISE3::…::FENIX2026, EHO-9 spec GENESIS::…::0. Isti crate ima dva PHI i sat u konstruktoru tokena. Faza 0 to presuđuje rekonstrukcijom Genesis bloka 6187541b — prije nego se sudac gradi u Rustu.
Kod prije Faze 0
kod4d, K0 i rute nastali su prije istine o kanonu. Ne dira ih: kod4d nema WeisE3 ni PHI. Dira ih jedno: eho_v2_racun.py piše weise3_id jednim od dva kanona — jedna funkcija, testni podaci.
Slike su sintetičke
Render i simulirana kamera. Pravi mobitel nije dio dokaza. Strojni zapis još nema EHO-9 polja (program_hash, ulazi, gorivo, presuda) — dodaju se kad F2 da Rust suca.
Izolacija testa nije potpuna
Izolirano: datoteke, baze, Redis, WhatsApp. Nije: genesis tajne, odlazni pozivi, Z60 detektori nad /var/www. Fiskalizacija se na testu ne okida. Popis odlaznih poziva mjeri se prije promocije.
Produkcija: prvo test, zatim „da”
Sve je prvo prošlo na testnoj instanci (E2E 22/22). Nakon Ivanova „da” 27.9.: kopija baze, oznaka povratka prije-eho-v2-*, brava Z47, boot-test Z57, migracija 0057 (41 račun netaknut), restart, health 200. Smoke test na stvarnom računu: provjera OK, inkrementalno OK, čitanje slike OK, zapis OK. Ispis računa se ne mijenja: porezni QR ostaje standardan.