{"id":"c1113","filename":"c1113_quantum_auto_sync_brsljani.dok.json","weise3_id":"","tip":"AUTOMATION","naziv":"Quantum Auto-Sync — Brsljani Auto-Replicator (ZAKON 17)","kreator":"genesis","datum":"2026-05-23T11:55:00Z","snippet":"","status":"DEPLOYED na 4/4 replikator cvorova","prev_weise3":"","bunker_l":"#00d4ff","full":{"cid":"c1113","naziv":"Quantum Auto-Sync — Brsljani Auto-Replicator (ZAKON 17)","datum":"2026-05-23T11:55:00Z","tip":"AUTOMATION","zakon":["ZAKON 17 (PULL ONLY)","ZAKON 41 (W3C/FOSS)","ZAKON 43 (Krunica)","ZAKON 44 (Folija)"],"podsjeticnik":"Cvorovi sami povlace izmjene sa primary (EU) svakih 30 min. Nema push. Krunica hash garantira integritet. Folija javlja tamper.","implementacija":{"library":"/var/www/genesis/services/quantum_sync.py","velicina":"11.6 KB","jezik":"Python 3.12 (samo stdlib + opcionalno redis)","ovisnosti":"zero external (stdlib + optional redis)"},"logika":{"korak_1":"Pull manifest s primary (EU /quantum/manifest.json)","korak_2":"Ako primary down -> fallback na NEW (fina-connect.online)","korak_3":"Usporedi sa lokalnim manifestom (compute_diff)","korak_4":"Za svaku added/changed datoteku: pull + verify SHA256","korak_5":"Atomic apply: tmp dir -> swap (sve ili nista)","korak_6":"Brisi 'deleted' datoteke","korak_7":"Update lokalni manifest","korak_8":"Folija stream: javi rezultat (success/warning/alarm)"},"tamper_detection":{"trigger":"Pull datoteke s SHA mismatch (Krunica narusena)","akcija":"Abort sync, NE primjenjuj nista (atomicity)","notifikacija":"Folija alarm event s details {file, expected_sha, actual_sha, source}","primjer":{"severity":"alarm","event":"sha_mismatch","details":{"file":"atom9d.js","expected":"b018bd880e82e861","got":"a1b2c3d4e5f67890","source":"https://genesis.limit-connect.com/quantum"}}},"atomicity":{"princip":"Sve ili nista. Ako bilo koji file padne -> abort, ne primjenjuj parcijalno.","implementacija":"Pull sve u tmp dir prvo, samo onda shutil.move() u quantum dir"},"deploy":{"primary_EU":{"url":"https://genesis.limit-connect.com/quantum/","uloga":"Source of truth — NE pull-a, samo serv-a","cron":"nije potreban"},"replicators":{"NEW":{"ip":"31.70.90.84","cron":"*/30 * * * * cd /var/www/genesis && python3 -m services.quantum_sync >> /var/log/quantum_sync.log 2>&1","status":"AKTIVAN"},"DE":{"ip":"31.70.82.227","cron":"*/30 * * * *","status":"AKTIVAN"},"MAR":{"ip":"212.227.181.201","cron":"*/30 * * * *","status":"AKTIVAN"},"ES":{"ip":"212.227.146.133","cron":"*/30 * * * *","status":"AKTIVAN"}}},"CLI":{"jedan_sync":"python3 -m services.quantum_sync","loop":"python3 -m services.quantum_sync --watch","custom_period":"python3 -m services.quantum_sync --watch --period 600","custom_primary":"python3 -m services.quantum_sync --primary https://sati.ink/quantum"},"folija_integracija":{"redis_db":4,"stream_key":"genesis:folija:events","events":["info  sync_success      — sve dobro proslo","warning sync_aborted_partial — neki fajlovi failali, abort","alarm sha_mismatch      — Krunica integritet narusen!","alarm sync_exception    — neocekivana iznimka"]},"fallback_chain":{"primary":"https://genesis.limit-connect.com/quantum","fallback":"https://fina-connect.online/quantum","logika":"Ako primary padne, automatski fallback. ZAKON 17 — nista ne pretpostavlja, samo cita."},"test":{"test_1_EU_local":{"rezultat":"OK — nista za sync (vec sinhronizirano)","diff":{"added":0,"changed":0,"deleted":0,"unchanged":10}},"test_2_NEW_DE_MAR_ES":{"rezultat":"OK — sve cetiri rade, cron postavljen, sync uspjesan"}},"buduce_proširenje":{"verify_local_files":"Provjeravaj lokalne fajlove protiv lokalnog manifesta (detekcija lokalnog tamper-a)","celery_beat":"Migracija s cron-a na Celery Beat za bolji monitoring","flower_dashboard":"Real-time status svih cvorova","push_critical_only":"Iznimka: za kriticne updates (security fix), allowed push notification (NE data push, samo 'pull NOW' hint)"},"promatrac":"CC (Claude Code)","status":"DEPLOYED na 4/4 replikator cvorova","sljedeci_sync":"Svakih 30 min kroz cron"}}