{"id":"c1332","filename":"c1332_brsljani_network_map_k3_sprint5.dok.json","weise3_id":"k3_sprint5_network_map_done_c1332","tip":"sprint_done","naziv":"K3 Sprint 5 DONE — Tier-0 Network Map vizualizacija (c1332)","kreator":"genesis","datum":"2026-06-13","snippet":"F2: p2p_peers polje u BrowserNodeHealthRequest + active_peers u BrowserNodeHealthResponse (schemas.py) · F3: /api/v4/brsljani/network-map endpoint — javni, bez auth, NetworkMapNode+NetworkMapResponse · F4: /brsljani/mapa HTML stranica — SVG force-layout (Fruchterman-Reingold, 120 iter), W3C only (ZA","status":"DONE","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"sprint_done","naziv":"K3 Sprint 5 DONE — Tier-0 Network Map vizualizacija (c1332)","sto_je_napravljeno":["F2: p2p_peers polje u BrowserNodeHealthRequest + active_peers u BrowserNodeHealthResponse (schemas.py)","F3: /api/v4/brsljani/network-map endpoint — javni, bez auth, NetworkMapNode+NetworkMapResponse","F4: /brsljani/mapa HTML stranica — SVG force-layout (Fruchterman-Reingold, 120 iter), W3C only (ZAKON 41)","F5: browser_health sprema p2p_peers u extra JSONB, vraca active_peers brsljani-node.js za P2P connect","BaseModel import dodan u browser_node_router.py","brsijan/html_router.py kreiran + registriran u main.py"],"dokaz":{"GET /api/v4/brsljani/network-map":"HTTP 200, JSON {nodes:[], edges:[], timestamp, total_active:0}","GET /brsljani/mapa":"HTTP 200, HTML s SVG canvas + sidebar + auto-refresh 15s","commit":"93b5f35","servis":"gunicorn-fenix-v4 active"},"zakon":["ZAKON 17 (PULL-ONLY)","ZAKON 41 (W3C only SVG)","ZAKON 43 (X-Krunica-Hash u API)","ZAKON NAD ZAKONIMA"],"weise3_id":"k3_sprint5_network_map_done_c1332","datum":"2026-06-13","status":"DONE","krunica_hash":"8d3bf9537e4a6dbc7334635aadfae4d0c0d0a7a313a91a81778a60c4b0430737"}}