Provenance & Audit
Lineage Graphs: Complete Provenance Tracking
Immutable lifecycle tracking from raw input documents to deployed local model weights using an embedded Directed Acyclic Graph (DAG).
The Directed Acyclic Graph (DAG)
In high-compliance deployments, knowing what data a model was trained on is mandatory. MoroAI maintains an embedded graph ledger (stored in .moro/moro.db) where every entity is a cryptographic node linked by directional edges:
End-to-End Provenance Graph Node & Edge Lifecycle
raw_source:pharma_docs.jsonl (sha256: 8f3b20...a19c)
│
▼ [DERIVED_FROM]
dataset_version:pharma_v1 (1,247 curated samples)
│
▼ [TRAINED_ON]
training_run:run_123456 (LoRA r=16, alpha=32, Qwen2.5-1.5B)
│
▼ [EVALUATED_BY]
eval_result:eval_789 (Deterministic: 100%, Semantic: 94.2%)
│
▼ [RELEASED_FROM]
release:v1.0.0 (GGUF Q4_K_M + signed SBOM)
│
▼ [DEPLOYED_TO]
deployment:ollama_pharma_v1 (http://localhost:11434)
│
▼ [FEEDBACK_FOR]
feedback_batch:batch_001 (342 human operator edits)
│
▼ [ALIGNED_BY]
dpo_epoch:epoch_001 (continuous local refinement)
Querying Lineage Programmatically
The MoroAI Python SDK allows engineers to trace artifacts backwards or forwards across the graph:
from pathlib import Path
from moro.state.manager import StateManager
from moro.state.models import EdgeType
# Initialize state manager pointing to local database
state = StateManager(Path(".moro/moro.db"))
# 1. Trace the complete ancestral lineage of an active deployment:
lineage = state.trace_lineage("deployment_ollama_pharma_v1")
print("Trained from raw files:", lineage.root_sources)
print("Cryptographic dataset hash:", lineage.dataset_sha256)
# 2. Find all models derived from a specific dataset version:
runs = state.get_connected_nodes(
"dataset_pharma_v1",
edge_type=EdgeType.TRAINED_ON,
direction="outgoing"
)
for run in runs:
print(f"Run {run.id}: Validation Loss = {run.metrics.val_loss}")
Lineage in Mission Control Dashboard
When using the Mission Control UI (moro dashboard), lineage graphs are rendered as interactive node-link diagrams. Operators can click any model checkpoint, view its exact dataset origin, inspect evaluation certificates, and verify cryptographic hashes with a single click.