Wire QuickVerifyDrawer, EvidenceChecklist, ProofChainViewer, and DsseEnvelopeViewer into evidence-export, triage, and release-orchestrator evidence-detail surfaces for richer proof verification workflows. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.0 KiB
4.0 KiB
Orphan Evidence Proof Component Adoption
Module
Web
Status
VERIFIED
Description
Revival of dormant proof-verification widgets (EvidenceChecklistComponent, QuickVerifyDrawerComponent, ProofChainViewerComponent, DsseEnvelopeViewerComponent) by adopting them into already-shipped Evidence, Triage, and Releases flows. The widgets are now reachable from real operator workflows rather than orphan navigation.
Sprint
SPRINT_20260308_018_FE_orphan_evidence_proof_component_adoption
Adopted Components and Host Surfaces
QuickVerifyDrawerComponent
- evidence-bundles.component.ts: Opens from bundle verify action, passes bundle ID as artifact ID.
- replay-controls.component.ts: Opens from result "Quick Verify" button, passes artifact ID from replay result.
- evidence-detail.component.ts: Opens from header "Quick Verify" button, passes content hash as artifact ID.
EvidenceChecklistComponent
- vex-decision-modal.component.ts: New "Required Evidence" section before Review. VexStatus is mapped to checklist status via computed property (
NOT_AFFECTED->not_affected,UNDER_INVESTIGATION->under_investigation,AFFECTED_*->affected,FIXED->fixed).
ProofChainViewerComponent
- provenance-visualization.component.ts: Maps
ProvenanceNode[]toChainNode[]via computed property. Filters out unknown-type nodes (finding, advisory). Renders after chain legend section. - evidence-detail.component.ts: Maps gate results + approvals to
ChainNode[](SBOM from first artifact, policy from gate results, approval from approvals). Renders in signature tab.
DsseEnvelopeViewerComponent
- triage-attestation-detail-modal.component.ts: Replaces raw JSON section with DSSE envelope viewer. Builds
DsseEnvelopefrom raw attestation data with fallback to raw JSON when data is not DSSE-shaped. - evidence-detail.component.ts: Builds
DsseEnvelopefrom packet signature data. Renders in signature tab.
Implementation Details
- Working directory:
src/Web/StellaOps.Web - Modified files:
src/Web/StellaOps.Web/src/app/features/evidence-export/evidence-bundles.component.tssrc/Web/StellaOps.Web/src/app/features/evidence-export/replay-controls.component.tssrc/Web/StellaOps.Web/src/app/features/evidence-export/provenance-visualization.component.tssrc/Web/StellaOps.Web/src/app/features/triage/vex-decision-modal.component.tssrc/Web/StellaOps.Web/src/app/features/triage/vex-decision-modal.component.htmlsrc/Web/StellaOps.Web/src/app/features/triage/triage-attestation-detail-modal.component.tssrc/Web/StellaOps.Web/src/app/features/triage/triage-attestation-detail-modal.component.htmlsrc/Web/StellaOps.Web/src/app/features/release-orchestrator/evidence/evidence-detail/evidence-detail.component.ts
- New test files:
src/Web/StellaOps.Web/src/app/features/release-orchestrator/evidence/evidence-detail/evidence-detail.component.spec.ts
- Updated test files:
src/Web/StellaOps.Web/src/app/features/triage/vex-decision-modal.component.spec.tssrc/Web/StellaOps.Web/src/app/features/triage/triage-attestation-detail-modal.component.spec.tssrc/Web/StellaOps.Web/src/app/features/evidence-export/evidence-bundles.component.spec.tssrc/Web/StellaOps.Web/src/app/features/evidence-export/replay-controls.component.spec.tssrc/Web/StellaOps.Web/src/app/features/evidence-export/provenance-visualization.component.spec.ts
Exclusions
- EvidenceDrawerComponent (EvidencePacketDrawerComponent): Already mounted in
evidence-list.component.tsandevidence-center-page.component.ts. No gap found; excluded from this sprint. - No new top-level routes introduced.
- No second evidence product shell created.
Verification
- Angular build verified clean on all modified files (pre-existing errors in policy-interop, certificate-inventory, glossary-tooltip are unrelated).
- Focused unit tests cover all computed properties, signal states, and template rendering for each adopted widget.
- Date (UTC): 2026-03-08