{"id":"c1136","filename":"c1136_dvorac_witness_integracija.dok.json","weise3_id":"","tip":"implementacija_nastavak","naziv":"Dvorac × TimeWitness — integracija ZivaCigla s 3-izvora vremenom (nastavak c1135)","kreator":"genesis","datum":"2026-05-24","snippet":"","status":"DEPLOYED — services/dvorac_witness.py + tests/test_dvorac_witness_integration.py na genesis-eu","prev_weise3":"","bunker_l":"#00d4ff","full":{"cid":"c1136","tip":"implementacija_nastavak","naziv":"Dvorac × TimeWitness — integracija ZivaCigla s 3-izvora vremenom (nastavak c1135)","datum":"2026-05-24","prethodni_chain":"c1135 (TimeWitness implementacija)","povod":{"c1135_kaze":"Sljedeći korak 2: Integrirati TimeWitness u dvorac.py i krunica chain — zamijeniti d9_svjedok jedinog svjedoka novim TimeWitness + countersign","ivan_kaze":"nastavi c1135"},"dizajnerska_odluka":{"opcija_A_destruktivno":"Zamijeniti d9_svjedok logiku u dvorac.py (1143 lin) — RISK: production fenix-v3 hash-evi se mijenjaju, breaking change","opcija_B_non_destructive":"DODATI dvorac_witness.py ekstenziju koja proširi proof bez diranja dvorac.py — postojeće cigle nepromijenjene, novi enriched","odabrano":"B — non-destructive extension. Production v40 ostaje netaknuta. Novi sloj je opt-in."},"implementirano":{"novi_fajl":"/var/www/genesis/services/dvorac_witness.py (220 linija)","test_fajl":"/var/www/genesis/tests/test_dvorac_witness_integration.py (160 linija)","format_extension":"{cigla}/.cigle/{stem}.witness.json — uz postojeće payload/proof/chain/svjest","api":["enrich_cigla_with_witness(cigla, sender_priv?, sender_pub?, recipient_w3?, recipient_priv?, recipient_pub?) -> dict","save_witness_json(cigla, extension, output_path?) -> Path","verify_witness_file(witness_path) -> (valid, razlog, witness_dict)"]},"sto_witness_json_sadrzi":{"time_witness":"3 izvora: lokal + 4 NTP + 3 TSA RFC3161, DER proof bytes iz TSA-e","consensus":"POUZDANO / SUMNJIVO / KRITICNO","countersign":{"sender_w3":"weise3_id pošiljatelja","sender_sig":"Ed25519 hex (128 znakova)","sender_pub":"Ed25519 javni ključ hex","recipient_w3":"weise3_id primatelja","recipient_sig":"Ed25519 hex supotpis","recipient_pub":"Ed25519 javni ključ primatelja","krunica_hash":"SHA3-256 svega + 3-source witness + oba potpisa"}},"dokazi_testom":{"test_1_enrich":"PASS — 4 NTP + 3 TSA + 1 lokal upisan, POUZDANO konsenzus","test_2_countersign":"PASS — sender Ed25519 + recipient Ed25519, krunica_hash sastavljen iz oba","test_3_backward_compat":"PASS — postojeće v40 cigle bez .witness.json su legalne","test_4_tamper_detect":"PASS — izmjena atom_hash promijeni očekivani krunica_hash (mismatch detect)","ukupno":"11/11 testova prošlo"},"backward_kompatibilnost":{"v40_production_dvorac":"NEDIRNUTO (na MAR fenix-v3 i fenix-v4)","postojeci_cigle_bez_witness":"i dalje rade — verify ne traži .witness.json","novi_cigle_s_witness":"dobiju .witness.json kao 5. fajl uz postojećih 4 (.payload, .proof, .chain, .svjest)","migracija":"nije potrebna; postupno enrichment per-call"},"sto_jos_nije":{"krunica_chain_dopuna":"Krunica blokovi (api/genesis_login.py + services/krunica*) ne čitaju još .witness.json — treba im hook da uključe witness_hash u svoj append-only zapis","key_registry":"napad 8 iz c1135 testa — sender_pub može biti bilo čiji. Treba povjereni registar weise3_id ↔ public_key. Sljedeći prioritet.","automatsko_enrichment":"trenutno ručno se mora pozvati enrich_cigla_with_witness — za production bi trebao hook u ZivaCigla.kreiraj() s opt-in flagom"},"zakon_status":{"ZAKON_41":"poštovano — non-destructive extension, sav novi kod je naš ili W3C standard","ZAKON_43":"poštovano — krunica_hash u svakom witness blok-u","ZAKON_26":"poštovano — schema_version=dvorac-witness-v1, jasna struktura"},"poruka_ivanu":"Sloj 2 zatvoren. Dvorac sad može imati 3-izvora vremenski svjedok i dvostrani potpis, bez diranja jedne linije production koda. Sljedeći prirodan korak je Krunica chain pickup (da blok zapisa zna za witness) i Key Registry (da znamo čiji je javni ključ stvarno čiji).","promatrac":"Claude (AI asistent)","status":"DEPLOYED — services/dvorac_witness.py + tests/test_dvorac_witness_integration.py na genesis-eu"}}