Supported composition
Build governed knowledge¶
Flow¶
From an installed repository checkout:
python -m examples.quickstarts.governed_knowledge
This composition addresses a CRM revision structurally, resolves a JSON Pointer, checks the observed value, records the derivation, and commits a reviewable artifact. The same evidence API accepts text spans, record fields, table cells, page regions, and media time ranges.
"""Validate structured evidence, then commit a reviewable artifact revision."""
import datetime as dt
from mari_kit import JsonPointer, ObjectRef, RevisionRef, ScopeRef
from mari_kit.knowledge import (
Activity,
KnowledgeArtifact,
LocatedEvidence,
validate_located_evidence,
)
from mari_kit.platform import InMemoryArtifactStore
def run() -> dict[str, object]:
scope = ScopeRef(tenant="acme", space="sales")
source = RevisionRef(
object=ObjectRef(namespace="crm", object_id="account:42", scope=scope),
revision="crm-v7",
)
material = {"plan": {"name": "enterprise", "monthly_price": 599}}
evidence = LocatedEvidence(
ref=source,
locator=JsonPointer(pointer="/plan/monthly_price"),
quote="599",
)
report = validate_located_evidence(
(evidence,), resolve_material=lambda ref: material if ref == source else None
)
if not report.accepted:
raise ValueError(report.issues)
artifact = KnowledgeArtifact(
artifact_id="fact:account-42-price",
revision="fact-v1",
value={"subject": "account:42", "monthly_price": 599},
scope=scope,
recorded_at=dt.datetime(2026, 9, 3, tzinfo=dt.UTC),
generated_by=Activity(
identifier="price-extractor-v1", implementation="host:model"
),
evidence=(evidence,),
derived_from=(source,),
)
store = InMemoryArtifactStore()
store.commit(artifact, expected_revision=None)
return {
"artifact": store.get(artifact.artifact_id, scope=scope),
"evidence": report.valid,
}
if __name__ == "__main__":
print(run())
Page-region and media-range evidence require a caller-supplied locator that can read the application’s chosen PDF, image, audio, or video representation. Mari validates the reference, visibility set, resolution result, and quoted material. The application assigns the acceptance policy and transaction.
Boundary |
Returned value |
|---|---|
Evidence resolution |
|
Derived identity |
|
Write |
|
Adapter verification |
|
Maintain derived knowledge¶
Declare computational inputs with KnowledgeArtifact.derivation_spec and the
dependency planner. Include the selection rule,
implementation version, and configuration as well as source material.
Citation validation checks source resolution. Semantic support and approval
remain separate governance decisions.