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.