{"id":"c1380","filename":"c1380_brsljani_p2p_duplikat_quantum_fix.dok.json","weise3_id":"brsljani_p2p_duplikat_quantum_fix_c1380","tip":"ispravak","naziv":"Bršljan P2P — duplikat dijagnoza + quantum poll-leak fix (c1380)","kreator":"genesis","datum":"2026-06-13","snippet":"","status":"FIX DEPLOYAN + RUNTIME DOKAZAN (poll-stop); 2-browser E2E + konvergencija duplikata DUG","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"ispravak","naziv":"Bršljan P2P — duplikat dijagnoza + quantum poll-leak fix (c1380)","sto_treba":"Zatvoriti živi signaling-poll leak na quantum stranici I dokumentirati duplikat brsljani-p2p.js (2 razišle kopije).","nalaz_duplikat":{"kopija_stara":"/var/www/genesis/public/quantum/brsljani-p2p.js (md5 aa6b3311, 2026-05-23) — servira quantum demo, HTTP 200, koristi start_signal_poll(2000) forever-poll","kopija_kanonska":"/var/www/fenix-v4/static/js/brsljani-p2p.js (md5 dea2dd66, 2026-06-13, v1.1.0, c1330) — ima _openSignalWindow silence-window, LAN/WiFi-Direct","razlika":"469 razlicitih linija, API se razisao (start_signal_poll vs _openSignalWindow)","node_kopije":"brsljani-node.js takodjer 2x: tahograf-mvp/pwa (2026-05-15) + fenix-v4/static/js (2026-06-13)"},"verifikacija_analize":"Vanjska K3 analiza (6.7/10) prijavila 'kriticna rupa: _startPoll nikad staje'. Verificirano protiv koda: stop_signal_poll() je VEC postojao ali mrtav (nepozvan) u staroj kopiji; auto-stop VEC implementiran u kanonskoj (fenix-v4). Predlozeni fix 'stop kad connected' bio bi NEISPRAVAN (poll prima dolazne offere -> stop = cvor gluh za nove peerove). Ispravno: silence-window.","fix":"Minimalni vjeran backport silence-window u quantum kopiju: SIGNAL_WINDOW_MS=30000, _poll_signals dekrementira okno + reset na promet + stop_signal_poll() na 0; connect/accept re-arm. Koristi POSTOJECI stop_signal_poll() (bio mrtav) — bez nove metode, bez API loma.","dokaz":"node --check OK; stop_signal_poll() sad pozvan 2x (bio 0); www-data; HTTP 200 stranica+JS; .bak_20260613. RUNTIME DOKAZ (Node, stvarni deployani modul): TEST1 poll staje nakon 15 ticka (=30000/2000ms tišine) → _signal_interval=null PASS; TEST2 dolazni signal resetira okno 20000→30000, poll ostaje živ PASS. Oba prošla.","nije_dokazano":"Poll-stop LOGIKA je dokazana (Node, deterministički). Puni 2-browser P2P end-to-end (čvor A → gossip → čvor B) i dalje NIJE rađen — c1331 DUG. setInterval timer u stvarnom browseru je W3C standard, nije custom logika.","dug_arhitektura":"DVIJE razisle kopije brsljani-p2p.js ostaju (ZAKON 0 izolacija dopusta po-projekt kopiju, ali stara je 28 dana iza). Odluka za Ivana: koja je kanonska + treba li konvergencija/redirect. Ovaj fix samo gasi ZIVI leak na staroj, ne uklanja duplikat.","zakon":["ZAKON NAD ZAKONIMA (fix pokazan, ne tvrdjen)","ZAKON 0 (duplikat moduli)","ZAKON 30 (www-data)","ZAKON 32 (fix = chain entry)","ZAKON 46 (imenuj sto nije dokazano)"],"weise3_id":"brsljani_p2p_duplikat_quantum_fix_c1380","datum":"2026-06-13","status":"FIX DEPLOYAN + RUNTIME DOKAZAN (poll-stop); 2-browser E2E + konvergencija duplikata DUG","krunica_hash":"ad040b424f1a04740784164cfc46d5696036b966290712e6cc40a8fb18beffe0","content_seal_sha3":"d78e32b9a608e3c87e02dbf63987257999b2cf61433614cd94685f55e94258b4"}}