tipplan
c_idc0182
statusDONE
faze{
"S2-1": {
"naziv": "services/arhiva_ai.py — OCR + Haiku klasifikacija async service",
"status": "DONE"
},
"S2-2": {
"naziv": "api/archive.py — /analiziraj endpoint + BackgroundTask na upload",
"status": "DONE"
},
"S2-3": {
"naziv": "services/dokarh_bundle.py — azuriraj_ocr() patch manifest u ZIP-u",
"status": "DONE"
},
"S2-4": {
"naziv": "services/arhiva.py — ZAKON 3 Brsljani pusi_dokument na upload",
"status": "DONE"
},
"S2-5": {
"naziv":
arhitektura{
"ocr_flow": "original_bytes → ocr_iz_bajtova() → hrv+eng tekst",
"ai_flow": "ocr_tekst → Haiku prompt → JSON (tip_dokumenta, datum, iznos, OIB, dobavljac, broj) + pouzdanost",
"bundle_update": "citaj ZIP → novi manifest s OcrInfo popunjenim → novi ZIP (atomic replace)",
"trojna_pohrana": "1. Krunica ChainBlock (vec) | 2. .dokarh na disku (vec) | 3. Brsljani gossip (dodajemo)",
"async": "upload vraca odmah, analiziraj se pokrece kao BackgroundTask (ne blokira korisnika)"
}
haiku_prompt{
"model": "claude-haiku-4-5-20251001",
"max_tokens": 512,
"zadatak": "klasificirati dokument i izvuci kljucna polja u JSON formatu",
"polja": [
"tip_dokumenta",
"datum",
"iznos_ukupno",
"pdv_iznos",
"valuta",
"dobavljac",
"broj_dokumenta",
"oib",
"pouzdanost",
"napomene"
]
}
zakon[
"ZAKON 2 — Brsljani",
"ZAKON 3 — Trojna pohrana",
"ZAKON 26 — Schema Contract",
"ZAKON 32 — chain entry"
]
zavrsen2026-05-09
napomeneSve faze implementirane i commit 34d3d95 + 8513fb2. OCR+Haiku radi. Lista vraca OCR polja.