4.4 KiB
4.4 KiB
SBOM Lineage Graph Visualization
Module
SbomService
Status
IMPLEMENTED
Description
SBOM lineage graph with Git-like visualization. Architecture fully documented, UI components mostly built, but API endpoints not implemented and services use stubs.
What's Implemented
- Backend lineage graph service:
src/SbomService/StellaOps.SbomService/Services/SbomLineageGraphService.cs,ISbomLineageGraphService.cs-- lineage graph query service - Lineage controller:
src/SbomService/StellaOps.SbomService/Controllers/LineageController.cs-- REST API endpoints for lineage queries - Compare service:
src/SbomService/StellaOps.SbomService/Services/LineageCompareService.cs,ILineageCompareService.cs-- diff computation between lineage nodes - Export service:
src/SbomService/StellaOps.SbomService/Services/LineageExportService.cs,ILineageExportService.cs-- evidence pack export - Hover cache:
src/SbomService/StellaOps.SbomService/Services/LineageHoverCache.cs-- Valkey-backed hover card caching - Lineage library:
src/SbomService/__Libraries/StellaOps.SbomService.Lineage/Services/LineageGraphService.cs,ILineageGraphService.cs-- core lineage graph logic - Frontend lineage feature (extensive):
src/Web/StellaOps.Web/src/app/features/lineage/-- 50+ components including:- Graph rendering:
lineage-graph/lineage-graph.component.ts,lineage-graph-container/lineage-graph-container.component.ts - Node/edge rendering:
lineage-node/lineage-node.component.ts,lineage-edge/lineage-edge.component.ts - Hover cards:
lineage-hover-card/lineage-hover-card.component.ts - Timeline:
lineage-timeline-slider/lineage-timeline-slider.component.ts,timeline-slider/timeline-slider.component.ts - Diff views:
lineage-sbom-diff/lineage-sbom-diff.component.ts,lineage-vex-diff/lineage-vex-diff.component.ts,lineage-component-diff/lineage-component-diff.component.ts - Compare:
lineage-compare/lineage-compare.component.ts,lineage-compare-panel/lineage-compare-panel.component.ts,compare-panel/compare-panel.component.ts - Detail panel:
lineage-detail-panel/lineage-detail-panel.component.ts - Controls/minimap:
lineage-controls/lineage-controls.component.ts,lineage-minimap/lineage-minimap.component.ts - Export:
lineage-export-buttons/lineage-export-buttons.component.ts,lineage-export-dialog/lineage-export-dialog.component.ts - Why-safe panel:
why-safe-panel/why-safe-panel.component.ts,lineage-why-safe-panel/lineage-why-safe-panel.component.ts - Provenance:
lineage-provenance-compare/lineage-provenance-compare.component.ts,lineage-provenance-chips/lineage-provenance-chips.component.ts - Accessibility:
lineage-accessibility.scss, directives for keyboard shortcuts and accessibility - Mobile support:
lineage-mobile-compare/lineage-mobile-compare.component.ts,lineage-mobile.styles.ts - Services:
lineage-graph.service.ts,lineage-export.service.ts - Routing:
lineage.routes.ts,lineage-compare-routing.guard.ts - Integration docs:
INTEGRATION_GUIDE.md,LINEAGE_API_INTEGRATION.md - Audit pack:
audit-pack-export/audit-pack-export.component.ts,export-options,merkle-display,signing-options - Explainer:
explainer-timeline/explainer-timeline.component.ts,explainer-step/explainer-step.component.ts - Badges:
cgs-badge/cgs-badge.component.ts,attestation-links/attestation-links.component.ts - Diff table:
diff-table/diff-table.component.ts - Services:
audit-pack.service.ts,explainer.service.ts
- Graph rendering:
- Tests:
src/SbomService/__Tests/StellaOps.SbomService.Tests/Lineage/LineageDeterminismTests.cs,src/SbomService/__Tests/StellaOps.SbomService.Lineage.Tests/Domain/LineageModelsTests.cs - Source: Feature matrix scan
What's Missing
- Backend API endpoints may still use stub/in-memory data for some queries (full PostgreSQL-backed graph traversal for all operations)
- Real-time lineage update via WebSocket/SSE not confirmed
- Performance optimization for large lineage graphs (hundreds of nodes)
Implementation Plan
- Verify all lineage API endpoints return live PostgreSQL data (not stubs)
- Ensure graph traversal queries perform efficiently at scale
- Add E2E tests covering full backend-frontend integration
Related Documentation
- Source: See feature catalog
Merged From
web/sbom-lineage-lane-view.md(deleted -- frontend-only subset of this feature)