{"id":"c1395","filename":"c1395_brsljani_sprint14_maxpeers_ttl_sparkline.dok.json","weise3_id":"brsljani_sprint_c1395","tip":"sprint","naziv":"K3 Sprint 14 -- MAX_PEERS Cap + IDB Atom TTL + Mapa Sparkline","kreator":"genesis","datum":"","snippet":"14A: brsljani-p2p.js v5.0.0 -- MAX_PEERS=8 konstanta, PEER_FULL poruka u MSG dict · 14A: channel.onopen provjerava this._peers.size > MAX_PEERS -- odbija i salje PEER_FULL · 14A: PEER_FULL handler u on_data -- elegantno brise peer iz mape i triggera disconnected event","status":"ZATVOREN","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"sprint","naziv":"K3 Sprint 14 -- MAX_PEERS Cap + IDB Atom TTL + Mapa Sparkline","chain_id":"c1395","weise3_id":"brsljani_sprint_c1395","prev_hash":"363656e2ec6979c6662ee7a90320804df489e23f78f99d4bb10ea900e4f6c7eb","timestamp":"2026-06-15T04:25:42Z","sustav":"fenix-v4/brsljani","status":"ZATVOREN","commit":"ab923b3","sto_je_napravljeno":["14A: brsljani-p2p.js v5.0.0 -- MAX_PEERS=8 konstanta, PEER_FULL poruka u MSG dict","14A: channel.onopen provjerava this._peers.size > MAX_PEERS -- odbija i salje PEER_FULL","14A: PEER_FULL handler u on_data -- elegantno brise peer iz mape i triggera disconnected event","14B: brsljani-node.js -- dodan _evictIDB() (Sprint 13B definicija bila missing, sad ispravno)","14B: _evictIDB() -- LRU count eviction za doc_cache (max 500) i atoms (max 200)","14B: Sprint 14B TTL eviction -- IDBKeyRange.upperBound(7 dana) brise stare atome (ZAKON 43)","14C: mapa.html -- _nodeHistory{} rolling buffer, max 10 snimaka po cvoru","14C: _miniSparkline(vals) -- 60x18px inline SVG polyline, W3C SVG, nema tudjeg (ZAKON 41)","14C: node-card dobiva sparkline ispod meta podataka (vidljivo od 2. osvjezavanja)","14C: selectNode() detail panel -- sparkline pored Dok cache vrijednosti","14C: mapa header azuriran Sprint 9 -> Sprint 14"],"zakon":["ZAKON 41 (W3C only -- SVG native, IDBKeyRange native, RTCPeerConnection)","ZAKON 43 (Krunica svugdje -- TTL cuva svjezinu atoma, stale ne propagiraju)","ZAKON 17 (PULL ONLY -- browser nikad ne initiates push prema peeru)","ZAKON 32 (svaki sprint ima chain entry)"],"pravilo_buduc":{"tehnologija":"MAX_PEERS=8 cap -- browser node kontrolira vlastite resurse, mesh ne raste neograniceno ni kod jednog cvora","sigurnost":"IDB atom TTL 7 dana -- stare atome (potencijalno replayed) automatski brisemo, svjezi tok = tezi za napad","mrezni_efekt":"Mapa sparkline -- vizualni trend rasta po cvoru kroz 10 tocaka (15s interval = 2.5 min vizualni prozor); operator vidi gdje mesh raste"},"content_seal_sha3":"a048c38b0f5439ea81819fc6a84f370ce7c2358e2b2840364a22e6ecb0898152","krunica_hash":"7b75896bbfd4a86d4c66a33109abbb1e7665d7a3413f1e6d1217501607b1f899","hash":"11e3f62ed152528501c6310f14e183eb1b098ec29f912e811c95e375f265dc87"}}