Profile · v2 · legal-oreo-lr-0.1

Legal OREO Evidence Bundles

A verifiable legal reasoning evidence bundle that preserves the sources, authorities, claims, defeaters, attorney review, hash chain, and signed receipt behind a legal AI output. LegalProof proves the reasoning. BAINK preserves the record. Legal OREO makes the result reviewable, replayable, and sealable.

positioning Legal OREO is the legal-sector profile of the BAINK evidence bundle — a LegalProof profile inside the BAINK bundle grammar. Not a new protocol. A profile.

1 · Map OREO to the object model

Opinion, Rule, Evidence, Objection, Seal — each layer maps to a first-class LegalProof object and a BAINK bundle object.

LayerLegal meaningLegalProof objectBAINK object
OOpinion — legal conclusion or recommendationconclusion, claimDecision, Claim
RRule — statute, case, regulation, contract clauseauthority, rulePolicy, Source
EEvidence — facts, documents, exhibits, testimony, spansfact, citationSource, EvidenceMap
OObjection — exception, counterargument, adverse authoritydefeaterExceptionRef, ClaimStatus
SSeal — hash, signature, receipt, verification reportattestation receiptbundle_hash, events.jsonl, verification_report

2 · Bundle layout

A portable directory or archive. Entrypoint lists each artifact, type, requirement, and hash.

treelegal_oreo_bundle/
legal_oreo_bundle/
  legal-oreo-bundle.json
  manifest.json
  sources/
    complaint.pdf
    contract.pdf
    statute_excerpt.json
    case_law_authorities.json
  proof/
    proofgraph.json
    authorities.json
    defeaters.json
    reasoning_metadata.json
  evidence/
    evidence_map.json
    claim_support.json
    citation_spans.json
  review/
    attorney_review.json
    objections_disposition.json
    redaction_policy.json
  logs/
    events.jsonl
  reports/
    verification_report.json
    verification_report.md
  signatures/
    bundle_receipt.json
    bundle_signature.sig

3 · Reference artifacts

jsonlegal-oreo-bundle.json
{
  "bundle_id": "legal_oreo_msj_2026_001",
  "standard_version": "0.1.0",
  "profile": "legal-oreo-lr-0.1",
  "matter_id": "matter_2026_001",
  "decision_id": "legal_conclusion_001",
  "artifacts": [
    {
      "path": "manifest.json",
      "type": "manifest",
      "required": true,
      "hash": "sha256:..."
    },
    {
      "path": "proof/proofgraph.json",
      "type": "legalproof_proofgraph",
      "required": true,
      "hash": "sha256:..."
    },
    {
      "path": "evidence/evidence_map.json",
      "type": "evidence_map",
      "required": true,
      "hash": "sha256:..."
    },
    {
      "path": "logs/events.jsonl",
      "type": "event_log",
      "required": true,
      "hash": "sha256:..."
    },
    {
      "path": "review/attorney_review.json",
      "type": "human_review",
      "required": true,
      "hash": "sha256:..."
    }
  ],
  "bundle_hash": "sha256:..."
}
jsonproof/proofgraph.json
{
  "proof_id": "proof_msj_001",
  "query": "Does the record support summary judgment on breach of contract?",
  "jurisdiction": "Michigan",
  "as_of_date": "2026-06-25",
  "nodes": [
    { "id": "claim_001", "type": "claim",
      "text": "The defendant had a binding contractual duty to perform." },
    { "id": "fact_001", "type": "fact",
      "text": "The signed agreement states that defendant shall deliver goods by March 1, 2026." },
    { "id": "authority_001", "type": "authority",
      "authority_ref": "urn:legal:contract:exhibit_a:section_2_1",
      "text": "Delivery obligation clause." },
    { "id": "defeater_001", "type": "defeater",
      "text": "Potential force majeure defense asserted by defendant." },
    { "id": "conclusion_001", "type": "conclusion",
      "status": "defeasibly_supported",
      "text": "The breach claim is supported, subject to disposition of the force majeure defense." }
  ],
  "edges": [
    { "from": "fact_001",       "to": "claim_001",      "type": "supports"  },
    { "from": "authority_001",  "to": "claim_001",      "type": "governs"   },
    { "from": "defeater_001",   "to": "conclusion_001", "type": "qualifies" },
    { "from": "claim_001",      "to": "conclusion_001", "type": "supports"  }
  ]
}
jsonevidence/evidence_map.json
{
  "evidence_map_id": "emap_001",
  "claims": [
    {
      "claim_id": "claim_001",
      "claim_text": "The defendant had a binding contractual duty to perform.",
      "materiality": "material",
      "support": {
        "sources": [
          {
            "source_id": "src_contract_001",
            "path": "sources/contract.pdf",
            "hash": "sha256:...",
            "span": {
              "page": 4,
              "section": "2.1",
              "text_quote_hash": "sha256:..."
            }
          }
        ],
        "authorities": [
          {
            "authority_id": "authority_001",
            "authority_ref": "urn:legal:contract:exhibit_a:section_2_1"
          }
        ]
      },
      "defeaters": [
        {
          "defeater_id": "defeater_001",
          "status": "requires_attorney_review",
          "disposition": "not_resolved_by_ai"
        }
      ],
      "review": {
        "reviewer_id": "attorney_001",
        "review_status": "reviewed_with_caveats",
        "timestamp": "2026-06-25T02:30:00-04:00"
      }
    }
  ]
}
jsonllogs/events.jsonl
{"event_id":"evt_001","type":"source_received","actor":"system","artifact":"sources/contract.pdf","artifact_hash":"sha256:...","prev_event_hash":null,"event_hash":"sha256:...","timestamp":"2026-06-25T02:00:00-04:00"}
{"event_id":"evt_002","type":"authority_resolved","actor":"legalproof","authority_ref":"urn:legal:contract:exhibit_a:section_2_1","prev_event_hash":"sha256:...","event_hash":"sha256:...","timestamp":"2026-06-25T02:05:00-04:00"}
{"event_id":"evt_003","type":"proofgraph_generated","actor":"legalproof","artifact":"proof/proofgraph.json","artifact_hash":"sha256:...","prev_event_hash":"sha256:...","event_hash":"sha256:...","timestamp":"2026-06-25T02:10:00-04:00"}
{"event_id":"evt_004","type":"evidence_map_generated","actor":"bundle_builder","artifact":"evidence/evidence_map.json","artifact_hash":"sha256:...","prev_event_hash":"sha256:...","event_hash":"sha256:...","timestamp":"2026-06-25T02:15:00-04:00"}
{"event_id":"evt_005","type":"attorney_review_completed","actor":"attorney_001","artifact":"review/attorney_review.json","artifact_hash":"sha256:...","prev_event_hash":"sha256:...","event_hash":"sha256:...","timestamp":"2026-06-25T02:30:00-04:00"}
{"event_id":"evt_006","type":"bundle_sealed","actor":"bundle_builder","artifact":"legal-oreo-bundle.json","artifact_hash":"sha256:...","prev_event_hash":"sha256:...","event_hash":"sha256:...","timestamp":"2026-06-25T02:35:00-04:00"}

4 · Verifier profile · legal-oreo-lr-0.1

Required checks

  • PASSbundle_manifest_valid
  • PASSartifact_hashes_match
  • PASSevent_hash_chain_valid
  • PASSproofgraph_schema_valid
  • PASSauthorities_resolve_to_stable_refs
  • PASSlegal_as_of_date_present
  • PASSmaterial_claims_have_source_spans
  • PASSmaterial_claims_have_authority_refs
  • PASSdefeaters_recorded_or_explicitly_absent
  • PASSattorney_review_present_for_material_conclusions
  • PASSredaction_policy_present
  • PASSbundle_receipt_signed

Failure modes

  • FAILunsupported_material_legal_claim
  • FAILmissing_authority_ref
  • FAILmissing_as_of_date
  • FAILunresolved_defeater
  • FAILbroken_hash_chain
  • FAILsource_hash_mismatch
  • FAILmissing_attorney_review
  • FAILaltered_after_seal

5 · Build flow

  1. 01

    Collect legal sources

    complaint, contract, exhibit, deposition excerpt, statute, case, regulation.

  2. 02

    Hash every source

    sha256 each file and record in manifest.

  3. 03

    Resolve legal authorities

    convert raw citations into stable AuthorityRefs.

  4. 04

    Generate ProofGraph

    claims, facts, rules, authorities, defeaters, conclusions.

  5. 05

    Generate EvidenceMap

    bind every material claim to source spans and authority refs.

  6. 06

    Record event chain

    source_received → proofgraph_generated → review_completed → bundle_sealed.

  7. 07

    Attorney review

    mark conclusions as reviewed, caveated, rejected, or not legal advice.

  8. 08

    Seal bundle

    canonicalize JSON, hash artifacts, compute bundle hash, sign receipt.

  9. 09

    Verify locally

    run the legal-oreo-lr-0.1 verifier profile.

  10. 10

    Emit report

    JSON + Markdown report for attorney, client, court, insurer, or auditor.

6 · CLI shape

Practical command surface for building, sealing, and verifying a Legal OREO bundle.

legaloreo
legaloreo init ./matter_001 \
  --profile legal-oreo-lr-0.1 \
  --jurisdiction MI \
  --as-of 2026-06-25

legaloreo add-source ./matter_001 sources/contract.pdf \
  --type contract \
  --label "Exhibit A - Services Agreement"

legaloreo reason ./matter_001 \
  --query "Does the agreement support a breach of contract claim?" \
  --out proof/proofgraph.json

legaloreo map-evidence ./matter_001 \
  --proof proof/proofgraph.json \
  --out evidence/evidence_map.json

legaloreo review ./matter_001 \
  --reviewer attorney_001 \
  --status reviewed_with_caveats

legaloreo seal ./matter_001

legaloreo verify ./matter_001 \
  --profile legal-oreo-lr-0.1

How to describe it

LegalProof proves the reasoning. BAINK preserves the record. Legal OREO makes the result reviewable, replayable, and sealable.

Not “AI legal advice in a zip file.” A profile that makes legal AI outputs behave like auditable legal work product rather than fluent prose.