v0.1.0 — M1: end-to-end vertical slice
First working milestone: the complete perception-proposes-logic-disposes loop, running deterministically end to end.
What works
- Grounded fact contract (spec + JSON Schemas): typed facts with clause-level provenance, calibrated confidence, and content-addressed ids; decision receipts with full derivation trees.
- Defeasible rule IR: YAML rule packs with priority, overrides, legal citations, and effective windows; a typed expression language with decimal-only money.
- Reference kernel: stratified deterministic evaluation with defeat semantics, effective-dated rule selection, human-outranks-machine conflict resolution, and receipt emission. No wall clock, no floats, no randomness.
- Two rule packs: New York termination-notice compliance (N.Y. Ins. Law § 3425) and federal TRID fee tolerance (12 CFR 1026.19(e)), each with declared expected outcomes run in CI.
- Two starters: synthetic documents with span-verified extracted facts for both verticals.
- Interactive demo (
uv run uvicorn demo.app:app --port 8788): grounding-span highlighting, derivation tree, citations, defeated-rule badges, receipt download, and as-of replay — change the evaluation date and watch the outcome flip under the rules then in force. - Deterministic audit reports: layered Markdown + PDF rendered purely from the receipt (byte-identical on re-render), with PII quote redaction. Example report.
80 tests. Breaking changes expected until v1.0.
Honest labels
Demo documents are synthetic; extraction is a scripted stub pending real adapters (M3); one pre-2026 historical rule version is marked DEMO-SYNTHETIC and exists only to demonstrate effective-dated replay.
🤖 Generated with Claude Code