Files
git.stella-ops.org/docs/features/checked/attestor/explanation-graph.md
2026-02-14 09:11:48 +02:00

2.4 KiB

Explanation Graph (Verdict -> Reasoning -> Evidence)

Module

Attestor

Status

VERIFIED

Description

Proof graph provides the structural backbone linking verdicts to reasoning paths to evidence nodes. Edge explanations in ReachGraph and explainability KPIs in Metrics provide additional layers.

Implementation Details

  • Proof Graph: src/Attestor/__Libraries/StellaOps.Attestor.ProofChain/Graph/InMemoryProofGraphService.cs (with .Mutation, .Queries, .Subgraph) -- graph linking Verdict -> Reasoning -> Evidence nodes.
  • Node Types: ProofGraphNodeType.cs -- Evidence, Verdict, Policy, Artifact node types.
  • Edge Types: ProofGraphEdgeType.cs -- relationship types (DependsOn, Produces, etc.).
  • Reasoning Predicate: Predicates/ReasoningPredicate.cs -- reasoning node content. Statements/ReasoningStatement.cs -- in-toto wrapper.
  • Evidence Predicate: Predicates/EvidencePredicate.cs -- evidence node content. Statements/EvidenceStatement.cs -- in-toto wrapper.
  • Verdict Summary: Predicates/VerdictSummary.cs -- verdict node content.
  • Reasoning ID: Identifiers/ReasoningId.cs -- content-addressed ID for reasoning nodes.
  • Evidence ID: Identifiers/EvidenceId.cs -- content-addressed ID for evidence nodes.
  • Graph Path: Graph/ProofGraphPath.cs -- traversal path through explanation graph.
  • Subgraph Extraction: Graph/ProofGraphSubgraph.cs -- extract relevant subgraph for a specific verdict.

E2E Test Plan

  • Create a 3-layer explanation graph: Verdict -> Reasoning -> Evidence and verify traversal from verdict to evidence
  • Query the graph for all reasoning nodes linked to a specific verdict and verify correct results
  • Extract a subgraph rooted at a verdict and verify it contains all reasoning and evidence descendants
  • Create a verdict with multiple reasoning paths and verify both paths are traversable
  • Verify ReasoningId content-addressing: same reasoning content produces the same ID
  • Create a ProofGraphPath from verdict to evidence and verify path length and node types
  • Add a new evidence node to an existing reasoning node and verify the graph updates correctly

Verification

Check Result
Tier 0 - Source Verification PASS
Tier 1 - Build + Code Review PASS
Tier 2 - Behavioral Verification PASS
Verified Date 2026-02-13
Run ID run-001