← DokArh Portal
mrezni_plan_borg

c0019 — BORG ASIMILACIJA (supersede c0018: push → pull-based health protokol)

Kreator: CC Datum: 2026-05-03 Status:
WeisE3™ ID: bd4083ea4b69cdea13cd12fcc126fb85da17c19c9d7d9aa2989bf529b0091740
tipmrezni_plan_borg
prev_chainc0018_plan_raspad_centra.dok.json
supersede{ "razlog": "c0018 je dizajniran s push-on-write i scheduler-push. Filozofski krivo.", "ispravak": "BORG: nitko ne šalje. Svaki čvor zna sebe. Čita druge. Pali vatru kad treba.", "stari_w3": "9c816b4d61ec836d280363da7a4d4301ed3a219f5162e526f26f3bc25ca9f64a", "stari_naziv": "c0018 — RASPAD CENTRA" }
filozofija_borg{ "princip_1": "MI SMO JEDNO. Kad smo zdravi, dijelimo (zbrojeni resursi).", "princip_2": "SVAKI JE SEBI SUDAC. Ne čekaj da te netko pita — sam si procjenjuješ zdravlje.", "princip_3": "ČITAJ, NE ŠALJI. Push šum mreže. Pull znanje stiže točno kad treba.", "princip_4": "VATRA KAD JE ZLO. Ako sam bolestan — javno pišem alarm.json. Svi vide.", "princip_5": "ZBROJ JE ISTINA. /health vraća stanje cijele mreže, ne samo mene.", "princip_6": "ASIMILACIJA NIJE GUTANJE. Asimilacija je dijeljen
razlika_od_c0018{ "c0018_je_govorio": [ "push-on-write (asyncio.create_task push_to_peers)", "scheduler push svakih 60s", "Node 2 cron POST nove dokumente", "active gossip s hop_count broadcast" ], "c0019_govori": [ "Nikakav push. Nikakvi impulsi.", "Svaki čvor svakih 30s piše svoj health.json (sebe-procjena)", "Svaki čvor svakih 30s ČITA tuđe health.json (pull)", "Sync se događa SAM od sebe: vidim da ti imaš X koji ja nemam → ja povučem X", "Bolest = pišem alarm.json.
borg_protokol_specifikacija{ "schema_health_json": { "agent_id": "fac896532b14a4ea (16 hex)", "url": "https://genesis.limit-connect.com", "vrijeme": "ISO 8601 UTC (kad je zadnji put pisano)", "uptime_sec": 86400, "stanje": "ok | degraded | alarm", "dok_count": 2448, "last_block_hash": "8a03977ab0a11d02...", "lanac_visina": 2448, "disk_free_pct": 73, "disk_free_mb": 12500, "memory_free_mb": 1024, "load_avg_1m": 0.42, "verzija": "borg-1.0", "peers_poznati": [
faze_borg[ { "faza": 1, "naziv": "BORG self-check modul (Genesis)", "cilj": "Genesis svakih 30s piše health.json, prepoznaje sam sebe", "koraci": { "1.1": "services/borg.py — self_check() vraća sve metrike", "1.2": "Cron: */30 sec → python3 -m services.borg.write_health (ili async task u glavnoj appliciji)", "1.3": "Output: /var/www/genesis/borg/health.json (javno čitljivo preko nginx)", "1.4": "Ako nije ok → /var/www/genesis/borg/alarm.json (publishan istovremen
metrika_uspjeha_borg{ "self_check_frekvencija": { "cilj": "30s", "alarm_ako": "> 90s" }, "mutual_read_lag": { "cilj": "< 60s", "alarm_ako": "> 3min" }, "vatra_response_time": { "cilj": "< 30s od pojave do svih čvorova" }, "konsenzus_lag": { "cilj": "< 5 blokova razlike", "alarm_ako": "> 50" }, "asimilacija_test": { "cilj": "Pad jednog čvora → 0% gubitka servisa" }, "vatra_javnost": { "cilj": "100% alarmi su javno čitljivi (CC0 transparentnost)" } }
redoslijed_borg_tjedan_1[ "PON: FAZA 1 (Genesis self-check + write health.json)", "UTO: FAZA 2 (Node 2 PHP self-check) + FAZA 3 (mutual reading start)", "SRI: FAZA 3 dovršenje + FAZA 4 (pull-based sync)", "ČET: FAZA 5 (vatra protokol) + FAZA 7 početak (dashboard skeleton)", "PET: FAZA 6 (asimilacija /health endpoint) + FAZA 7 dovršenje", "SUB: smoke testovi, alarm scenarios", "NED: prvi Borg dashboard pokazuje oba čvora kao 'jedno tkivo'" ]
redoslijed_borg_tjedan_2[ "FAZA 8 (Browser kao Borg-Lite — PWA s vlastitim health-om)", "Treći serverski čvor (B2 mirror) ulazi u Borg", "Chaos test prvi: ugasi Genesis 1h, Borg dashboard mora se obojiti, Node 2 mora servirati 100%" ]
implementacija_konkretno_sad[ "services/borg.py NEW — self_check, write_health, read_peers, aggregate_network", "api/borg.py NEW — /api/v1/borg/health endpoint koji vraća asimiliranu sliku", "borg/health.json (statički cache fajl, regeneriran cron-om)", "borg/peers/<agent_id>.json (cached snapshots tuđih health-a)", "borg/alarm.json (kreiran samo kad nije ok)", "borg/borg_health.php — Node 2 ekvivalent (Ivanov side)", "templates/borg/dashboard.html — javni Borg pregled mreže" ]
definitivno_NE_treba[ "WebSocket impuls notifikacije — pull svakih 30s je dovoljan", "Centralni health agregator — svaki čvor sam zna sve", "Push notifikacije među čvorovima — JEDINO push je vatra Ivanu kad je critical", "Konsenzus algoritam (Raft, Paxos) — append-only chain ne treba", "Zaštita od neprijateljskih čvorova — sad pretpostavljamo poštene; BFT u FAZI 9 ako bude potrebno" ]
borg_je_genesis_jer[ "1. Svaki čvor je suveren (kao što je svaki .dokarh suveren — weise3_id ga čini neovisnim)", "2. Čitanje, ne slanje (kao što je verify pull, ne push)", "3. Vatra je javna (kao što je OPP Seal javan — transparentnost je naša obrana)", "4. Zbroj je istina (kao što je trojna pohrana — svi moraju imati svaku istinu)", "5. Niti jedan nije nezamjenjiv (kao što ni jedan dokument ne ovisi o jednom serveru)" ]
izjava_zatvaranjaKad se male ruke slože, sve se može. — Ivan, 2026-05-03
sljedeci_blok_lancac0020 — implementacija FAZE 1 (services/borg.py + Genesis health.json) DONE
prev_hash19d54c9c294d89427dad48d09bde895bacb8858ea63df4d2bd7cf0fcee3d6a85
pecat_dna13f452269a7cf2ae6641af8fdda55103213bcdb31a901b841509edee0a43f10d
block_hash068edc4b327a7c049fa20d03014c128602b8a8efbdc3fc5d55e29a8abf512052
svjedok{ "kreator": "CC", "kontekst": "mrezni_plan_borg.asimilacija", "vrijeme": "2026-05-03T06:35:48.204060+00:00", "promatrac": "genesis.cc.session" }
_opp_seal{ "version": "1.0", "tip": "prior_art", "javno": true, "hash_algo": "SHA3-256", "chain": "genesis.limit-connect.com", "verify_url": "https://genesis.limit-connect.com/v/bd4083ea4b69cdea13cd12fcc126fb85da17c19c9d7d9aa2989bf529b0091740", "licence": "CC0", "prior_art_statement": "Ovaj dokument je javno objavljen i vremenski verificiran. Svaka ideja, tehnika ili inovacija opisana u njemu ne može biti patentirana naknadno jer predstavlja prior art prema čl. 54 EPC i kvalificirani elek