{"id":"c1384","filename":"c1384_brsljani_delta_sync_k3_sprint8.dok.json","weise3_id":"","tip":"sprint","naziv":"K3 Sprint 8 -- Delta/Batch Sync (since_ts + IDB cursor)","kreator":"genesis","datum":"","snippet":"browser-pull endpoint: since_ts=ISO8601 Query param -- delta filter na ArchiveDoc.created_at · BrowserPullResponse schema: delta_mode:bool=False + since_used:Optional[str] · where_clause dinamicki: samo docs noviji od since_dt kad je prisutan","status":"ZATVOREN","prev_weise3":"","bunker_l":"#00d4ff","full":{"tip":"sprint","naziv":"K3 Sprint 8 -- Delta/Batch Sync (since_ts + IDB cursor)","chain_id":"c1384","prev_hash":"","timestamp":"2026-06-14T14:58:34Z","sustav":"fenix-v4/brsljani","status":"ZATVOREN","commit":"0cf0064","sto_je_napravljeno":["browser-pull endpoint: since_ts=ISO8601 Query param -- delta filter na ArchiveDoc.created_at","BrowserPullResponse schema: delta_mode:bool=False + since_used:Optional[str]","where_clause dinamicki: samo docs noviji od since_dt kad je prisutan","brsljani-node.js: sprema pulled_at_iso u IDB node_state.last_pull","brsljani-node.js: svaki pull salje &since_ts=<pulled_at_iso> (delta, ne full pull)","typing.Optional dodan u browser_node_router.py imports (FastAPI compat)","Smoke test: T1+T2+T6 PASS (401=auth OK, param prihvacen, gunicorn aktivan)"],"zakon":["ZAKON 17 (pull-only)","ZAKON 41 (browser-native IDB)"],"napomene":"OpenAPI vraca 500 zbog pre-existing html_router TemplateResponse bug -- nije Sprint 8. Endpoint funkcionira (since_ts=401 ne 422)","hash":"0be9a607032a0ab9bcf46fec099c4117cc33ed2c2cf472a6289365beee6004e7"}}