Deterministic Arabic-French document intelligence engine for Algerian documents
# DzDoc Engine
Independent source-available foundation for Arabic–French document intelligence.
Current deterministic foundation provides:
- versioned canonical document models with raw, normalized, and search text;
- safe local document ingestion and SHA-256 fingerprinting;
- optional PDFium native PDF inspection and a native-text quality gate;
- explicit hybrid-pipeline protocols with no vendor imports in core models;
- page-level native-text routing and rendering of rejected pages only;
- one PP-OCRv5 text-detection pass per OCR page;
- Arabic-first region routing to pinned Arabic/Latin PP-OCRv5 recognizers;
- deterministic candidate fusion, digit disagreement warnings, alternatives,
provenance, confidence, and RTL/LTR geometric reading order;
- a disabled-by-default, region-capped PaddleOCR-VL-1.6 fallback whose prompt,
immutable model revision, decoding, raw response, trigger, decision, and latency
are retained as processing events;
- an Algerian invoice pack for supplier/buyer, invoice number/date, NIF, NIS, RC,
line items, HT, TVA, TTC, currency, source boxes, confidence, and arithmetic checks;
- JSON export and a neutral DZ-Bench `Predictions` artifact.
- a versioned FastAPI surface, tenant-scoped API keys, idempotent asynchronous
jobs, DB leases, CPU/GPU worker capabilities, content-addressed local/S3
storage, signed webhooks, corrections, usage, retention, and deletion;
- Python and TypeScript SDK foundations, OCI images, a one-server Docker Compose
profile, and a responsive Arabic/French review workspace.
No model weight is bundled or downloaded at install/test time.
Native-text PDFs can be inspected and processed without OCR assets. Raster pages
fail closed unless `DZDOC_MODEL_DIR` (or `--model-dir`) points to the reviewed
asset directories; the engine never performs an implicit unpinned download.
## Quick start
```powershell
uv run dzdoc inspect .\document.pdf
uv run dzdoc process .\document.pdf --output .\document.json
uv run dzdoc export-predict …