# Edge-Level Attestations (DSSE-signed per dependency edge) ## Module Attestor ## Status VERIFIED ## Description Proof graph edge models with typed edges and a rich graph attestation service in Scanner for emitting per-edge attestation data. ## Implementation Details - **Proof Graph Edge**: `src/Attestor/__Libraries/StellaOps.Attestor.ProofChain/Graph/ProofGraphEdge.cs` -- edge model with content-addressed ID, source/target node references, and typed semantics. - **Edge Types**: `ProofGraphEdgeType.cs` -- enum defining edge types: DependsOn, Supersedes, Aggregates, Produces, Consumes, etc. - **Proof Graph Node**: `ProofGraphNode.cs` -- node model with `ProofGraphNodeType`. - **Graph Service**: `InMemoryProofGraphService.cs` (with `.Mutation`, `.Queries`, `.Subgraph`) -- manages graph with per-edge operations. - **Content-Addressed Edge IDs**: `Identifiers/ContentAddressedIdGenerator.Graph.cs` -- generates edge IDs from source+target+type content. - **Graph Root Attestation**: `src/Attestor/__Libraries/StellaOps.Attestor.GraphRoot/GraphRootAttestor.cs` -- attests graph root including all edges. - **DSSE Signing**: Per-edge attestations are signed via `ProofChainSigner`. - **Note**: Scanner module (`src/Scanner/`) contains the graph attestation service that emits per-edge data; Attestor provides the models and signing. ## E2E Test Plan - [ ] Add a DependsOn edge between two nodes via `InMemoryProofGraphService.Mutation` and verify edge ID is generated - [ ] Add edges of different types (Supersedes, Aggregates, Produces) and verify each gets a unique typed edge ID - [ ] Query edges by type via `InMemoryProofGraphService.Queries` and verify correct filtering - [ ] Sign an edge attestation via `ProofChainSigner` and verify the DSSE envelope - [ ] Attest the full graph root via `GraphRootAttestor` and verify it includes edge count and types - [ ] Remove a node and verify all connected edges are cleaned up - [ ] Extract a subgraph and verify only edges within the subgraph are included ## 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 |