LR-001 · Core artifact
ProofGraph
A ProofGraph is what a LegalProof-compatible system emits instead of (or alongside) prose: a typed graph linking the claim to facts, authorities, rule paths, and defeaters, ending in a single conclusion status.
Object model
ProofGraph·typescript
interface ProofGraph {
nodes: ProofNode[]; // claim | fact | rule | authority | defeater | conclusion
edges: ProofEdge[]; // typed inferential links
}
interface ReasonResponse {
proof_id: string;
conclusion: { status: ReasoningStatus; claim: string; confidence: number };
proof_graph: ProofGraph;
citations: Citation[]; // resolved AuthorityRefs (LR-002)
defeaters: Defeater[];
metadata: ReplayMetadata; // LR-005
}Lifecycle
- POST /v1/reasonBuild a ProofGraph from a query, facts, jurisdiction, and as-of date.
- POST /v1/verifyValidate a candidate claim against the conformance bar.
- POST /v1/explainRender a structured, attorney-reviewable explanation.
- GET /v1/proofs/{id}Replay any past proof by stable id.
- POST /v1/attestIssue a signed receipt under a redaction policy (LR-006).
- POST /v1/sources/resolveResolve raw references to canonical AuthorityRefs (LR-002).
Why a graph and not prose
Auditable
Every conclusion traces to facts and authorities, not to a model's vibes.
Replayable
Versioned engine, knowledge graph, and rulebase make outputs reproducible.
Defeasible
Exceptions, overrides, and superior authority are first-class objects.