Decision records
Architecturally significant decisions — a dependency or backend choice, a pipeline algorithm, a
public API shape, a model source, a build/target strategy — are recorded as
MADR-format Architecture Decision Records under
adrs/ in the repository. Each ADR carries a
status, a date, and deciders. ADRs are immutable once accepted: reversing a decision means
adding a new ADR that supersedes the old one, not rewriting it.
| ADR | Title | Status |
|---|---|---|
| 0000 | Record decisions as MADR ADRs | Accepted |
| 0001 | Cargo workspace: rlib core + thin CLI | Accepted |
| 0002 | Scope to gen2 recognizers + CRAFT | Accepted |
| 0003 | Model source: iText ONNX, runtime download | Accepted |
| 0004 | Inference backend seam: ort / tract / candle | Accepted |
| 0005 | MCP as a feature-gated module + subcommand | Accepted |
| 0006 | Generate agent config with ai-rulez | Accepted |
| 0007 | Tooling scaffolding adapted from basemind | Accepted |
| 0008 | In-repo dev tooling: uv Python fallback + Rust tools/ for model export | Accepted |
| 0009 | Backend evaluation: ort primary, candle deferred off the critical path | Accepted |
| 0010 | Public OcrEngine seam, internal DTO boundaries, and encapsulation lockdown | Accepted |
| 0011 | Re-pointable model registry via a registry_owner override | Accepted |
| 0012 | ONNX Runtime provisioning: ort-bundled + ort-dynamic (xberg pattern) | Accepted |
| 0013 | imageproc for CRAFT postprocess geometry | Accepted |
| 0014 | Public detect / recognize-line methods and a model-provisioning surface | Accepted |
| 0015 | Criterion microbenchmarks behind a bench feature seam | Accepted |
| 0016 | Parity harness: dual golden fixtures, HF-cache model resolution, and the test corpus | Accepted |
| 0017 | Resolve models through the Hugging Face hub’s native on-disk cache | Accepted |
| 0018 | cv2-exact CRAFT dilation (amends ADR 0013) | Accepted |
| 0019 | Parity-safe performance optimization and SIMD | Accepted |
| 0020 | Release strategy: tag-triggered multi-platform build with crates.io dry-run | Superseded by 0023 |
| 0021 | Head-to-head benchmark methodology and regression gate | Accepted |
| 0022 | Input image format coverage: pure-Rust decoders only | Accepted |
| 0023 | Publish to crates.io for real, via GitHub Actions trusted publishing | Accepted |
| 0024 | Documentation site, social assets, and CI docs deployment | Accepted |