Supported
Source authority, conflicts, and uncertainty
Contract
Assertion |
Source policy |
Valid time |
Working result |
|---|---|---|---|
Headquarters is Oakland |
Company blog: 0.65 |
2024 onward |
Preserved as dissenting evidence |
Headquarters is San Francisco |
Regulatory filing: 0.95 |
2025 onward |
Selected for the current answer |
Headquarters was Oakland |
Regulatory filing: 0.95 |
Until 2025 |
Retained as historically valid |
The result contains a working selection, alternatives, grouped scores, and a dispute flag. Retain the source assertions and a versioned policy alongside the result for audit.
How it works
Select one entity’s assertions before calling the resolver. It requires one
predicate and optionally filters half-open validity intervals at at_time.
It groups equal value representations, sums source weight × confidence ×
independence, and adds a bonus for distinct source kinds. A margin below
minimum_margin sets disputed=True and leaves selected=None.
from mari_components.governance import AuthorityPolicy, SourceAssertion, resolve_assertions
result = resolve_assertions(
assertions=(filing_assertion, blog_assertion),
policy=AuthorityPolicy(
source_weights={"regulatory_filing": 0.95, "company_blog": 0.65},
corroboration_weight=0.15,
minimum_margin=0.10,
),
)
if result.disputed:
answer = "The available sources disagree."
else:
answer = result.selected.value
Source weights and independence estimates belong to the application. Pass
at_time explicitly for current or historical answers. Omitting it admits
assertions from every validity interval. Observation and extraction provenance
belong in the surrounding knowledge artifact.
Measures
Evaluation |
Measure |
|---|---|
Synthetic conflicts with known authority |
Selected-value accuracy |
Equal-quality disagreement |
Dispute calibration and forced-answer rate |
Temporally changing facts |
Correct value at requested valid time |
Correlated sources |
False corroboration caused by copied reporting |
Papers and standards
Truth discovery surveyUncertainty in knowledge-graph constructionKnowledge VaultW3C PROV
Mari implements an explainable deterministic resolver. Learned source-quality estimation remains application supplied.