The first principle is that legal effect must remain identical after transformation. Three independent layers enforce that — grounding, document-level invariants, and debate resolution — and every one of them fails closed.
Every finding has to cite specific text. The grounding verifier string-matches each cited quote against the parsed document. If the quote isn't there, the finding doesn't ship. Hallucination is caught at the citation, not at human review.
Tool: src/mcp/tools/grounding-verifier.ts
Invariants run over the whole deliverable, not just a single finding. The 10-pass verification pipeline driver chains checks for preservation categories — monetary amounts, time periods, jurisdiction and venue, dispute resolution, defined terms, insurance and regulatory language — against the original document.
Tools: verification-engine.ts, document-checks.ts,
quality-check.ts
Agents post findings to a shared debate board, challenge each other, and resolve only when the orchestrator says so. Disagreements stay visible in the audit bundle. Nothing ships with an open challenge attached.
Tools: debate-board.ts, evaluator-gate.ts,
scoring-engine.ts
Every engagement ships an audit bundle alongside the deliverable: structured findings, debate resolutions, verification results, and the cost log. This is shared principle #5 — and the reason every tool in this layer also writes provenance, not just outcomes.