Files
git.stella-ops.org/docs/features/unchecked/sbomservice/sbom-lineage-graph-visualization.md

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
  • 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
  • Source: See feature catalog

Merged From

  • web/sbom-lineage-lane-view.md (deleted -- frontend-only subset of this feature)