tipimplementacija
zakon[
"ZAKON 2",
"ZAKON 3",
"ZAKON 26",
"ZAKON 27",
"ZAKON 32",
"ZAKON 37"
]
sto_je_napravljeno{
"summary": "Kompletna implementacija .dokarh kao polyglot PDF+ZIP zivog organizma",
"faze": [
{
"naziv": "services/dokarh_html_viewer.py",
"status": "DONE",
"opis": "Self-contained HTML viewer ugraden unutar .dokarh ZIP-a kao index.html. Sav sadrzaj ugraden kao base64 data URI. Dark/light theme toggle (ZAKON). Prikazuje dokument (slika/PDF embed), OCR polja, ChainBlock, FenixVault seal, usteda bar, QR, manifest JSON debug panel. Bez ikakvih eksternih ovisnosti."
}
tehnicke_specifikacije{
"polyglot_format": "PDF header (%PDF-1.4...%%EOF) + ZIP bytes s adjustiranim CD offsetima",
"index_html_velicina": "~15KB per bundle (varira ovisno o sadrzaju)",
"pdf_suit_library": "reportlab 4.5.0 (dostupno na EU serveru)",
"zip_offset_adjustment": "Iteracija kroz Central Directory, update LFH offset za len(pdf_bytes)",
"fallback": "Minimalni PDF bez reportlab + obicni ZIP bez offset adjustment",
"media_type": "application/pdf — dvoklik otvara PDF citac",
"dark_theme": "ZAKON m
verifikacija{
"polyglot_test": "Je PDF: True, Ima EOCD: True — testom potvrdjen",
"index_html_test": "14807 B, dark theme prisutan",
"bundle_endpoint": "HTTP 404 za nepostojeci W3 (endpoint aktivan)",
"next_build": "Uspjesan — bez TypeScript gresaka",
"backfill": "118/118 bundlea azurirano"
}
zip_sadrzaj_v2_1[
"manifest.json — DokarhManifest ZAKON 26",
"content.{ext} — obradena slika ili PDF",
"original.proof — SHA3-256 originala",
"ocr.json — AI ekstrakcija polja",
"qr.png — offline verifikacija QR",
"quantum.seal — FenixVault Ed25519+SHA3-256",
"index.html — Zivi organizam: self-contained HTML viewer",
"device.witness.json — F2 ChainOfCustody (ako postoji)"
]
sljedeci_koraci[
"Testirati download na produkciji — dvoklik u PDF citacu",
"Testirati unzip — index.html u browseru",
"Promotivni materijal: GIF demonstracija",
"azuriraj_ocr() patch — index.html refresh pri OCR update"
]