{ "module": "sbomservice", "lastUpdated": "2026-02-13T08:00:00Z", "featureCount": 8, "summary": { "checked": 8, "unchecked": 0, "unimplemented": 0, "blocked": 0 }, "buildNote": "All 3 test projects pass: StellaOps.SbomService.Tests (59 tests), StellaOps.SbomService.Lineage.Tests (34 tests, after fixing FluentAssertions ref and rewriting outdated LineageGraphOptimizerTests), StellaOps.SbomService.Persistence.Tests (8 tests). Total: 101 tests green.", "features": [ { "name": "sbom-lineage-api-backend", "slug": "sbom-lineage-api-backend", "status": "checked", "runId": "run-001", "tier0": "pass", "tier1": "pass", "tier2d": "pass", "notes": "REST API endpoints for lineage graph queries, diff computation, and export. All source files verified, integration tests pass." }, { "name": "sbom-lineage-edge-persistence", "slug": "sbom-lineage-edge-persistence", "status": "checked", "runId": "run-001", "tier0": "pass", "tier1": "pass", "tier2d": "pass", "notes": "PostgreSQL-backed persistence for sbom_lineage_edges with BFS traversal, RLS tenant isolation, ISbomLineageEdgeRepository interface and in-memory test impl." }, { "name": "sbom-lineage-graph-visualization", "slug": "sbom-lineage-graph-visualization", "status": "checked", "runId": "run-001", "tier0": "pass", "tier1": "pass", "tier2d": "pass", "notes": "Backend graph service, optimizer, stream service, REST controller. Tests rewritten to match actual API. 24 behavioral tests pass (optimizer + stream + determinism)." }, { "name": "sbom-lineage-hover-cache-with-valkey", "slug": "sbom-lineage-hover-cache-with-valkey", "status": "checked", "runId": "run-001", "tier0": "pass", "tier1": "pass", "tier2d": "pass", "notes": "Valkey/Redis caching with 5-min TTL for hover cards, 10-min TTL for compare cache. DistributedLineageHoverCache + InMemoryLineageHoverCache + ValkeyLineageCompareCache all implemented." }, { "name": "sbom-lineage-ndjson-streaming-export", "slug": "sbom-lineage-ndjson-streaming-export", "status": "checked", "runId": "run-001", "tier0": "pass", "tier1": "pass", "tier2d": "pass", "notes": "NDJSON export with application/x-ndjson content type, deterministic ordering, 50MB limit, configurable includes, optional keyless signing. Integration test verifies end-to-end." }, { "name": "sbom-service-lineage-projection-api", "slug": "sbom-service-lineage-projection-api", "status": "checked", "runId": "run-001", "tier0": "pass", "tier1": "pass", "tier2d": "pass", "notes": "Projection API with SbomProjectionResult, hash integrity, file and Postgres repositories. Integration tests verify tenant requirement and payload content." }, { "name": "sbom-service-registry-source-integration", "slug": "sbom-service-registry-source-integration", "status": "checked", "runId": "run-001", "tier0": "pass", "tier1": "pass", "tier2d": "pass", "notes": "Full CRUD for registry sources, webhook processing, scan job emission, auto-discovery. 12+ dedicated unit tests covering create, read, update, delete, trigger, pause, resume, run history." }, { "name": "sbom-verdict-linking-table", "slug": "sbom-verdict-linking-table", "status": "checked", "runId": "run-001", "tier0": "pass", "tier1": "pass", "tier2d": "pass", "notes": "sbom_verdict_links table with upsert on (sbom_version_id, cve, tenant_id), RLS, confidence scoring. Two repository layers (Lineage + Persistence) with PostgreSQL implementation." } ] }