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