Current

Knowledge parsers

Benchmark first

Corpora: QASPER · WikiSection · DocRED. Connectors use recorded provider fixtures because public content corpora do not test cursors, deletes, retries, or event ordering.

Protocol: Score text preservation, section Boundary F1/Pk/WindowDiff, entity/relation F1, stable-ID rate, duplicate rate, and incremental/full-sync equivalence. For polling and streaming, replay the same create→update→delete trace with injected duplicates, reordering, throttling, and cursor expiry; the final snapshot and emitted change set must agree.

Models return JSON-like values. Parsers resolve all evidence against supplied document and section revisions and return immutable typed values. Research establishes each task formulation; Mari implements a deterministic validation boundary rather than the cited model.

How it works

Each parser first requires the recipe’s top-level collection, then validates every required field and enum, resolves evidence through the exact contract below, derives deterministic audit signals, and constructs frozen result types. It never repairs a claim’s meaning. Batch claim assessment is the exception to fail-fast parsing: rows are keyed back to caller order, absent rows become uncertain, and individually malformed rows do not erase valid siblings.

model proposal*→schemaexact evidencerevision binding→*typed candidate

Parser

Produces

Research-backed task

Academic sources

parse_facts

FactCandidate

Atomic claims and optional document-level relations with evidence

FActScore · DocRED

parse_claim_assessments

FactAssessment

Supported, contradicted, or uncertain verdicts; decisive rows require evidence

FEVER

parse_decisions

DecisionCandidate

Decision-related utterance extraction without treating topical language as proof

Hsueh & Moore · Karan et al.

parse_answer

GroundedAnswer

Evidence-selected document QA, citations, or explicit insufficient evidence

QASPER · ALCE

parse_answer_candidates

AnswerCandidate[]

Reusable question-answer pairs bound to supporting passages

QASPER

parse_glossary

GlossaryCandidate[]

Term-definition relations, aliases, and source spans

DeftEval

parse_digest

DigestSummary

Overall and topic summaries with separately inspectable evidence

QAGS · SummaC

parse_impact

ImpactAssessment

In-scope affected-document proposals followed by deterministic dependency checks

Mari contract; no claimed benchmark reproduction

parse_refinement

RefinementEdit[]

Bounded, attribution-aware, fact-preserving edit proposals

RARR · FactEditor

answer.py
from mari_components.knowledge import parse_answer

raw = model(question, documents)
answer = parse_answer(question, documents, raw)
print(answer.disposition)         # grounded | insufficient_evidence
print(answer.grounding_coverage)  # deterministic text coverage
print(answer.evidence[0].quote)  # exact source text

Additional deterministic helpers include normalize_claim, deduplicate_fact_candidates, grounding_coverage, and excerpt. Recoverable batch drift is handled conservatively: assessment rows are restored to caller order, missing rows become uncertain, and good rows survive alongside invalid ones. Structured fact qualifiers preserve subject, relation, object, scope, validity, and conditions.

**grounding_coverage is not entailment or confidence.**It is a Mari-specific lexical audit signal motivated by citation completeness. Exact quote validation prevents fabricated citations but does not prove that every paraphrase follows logically from its evidence.