167 lines
5.9 KiB
JSON
167 lines
5.9 KiB
JSON
{
|
|
"module": "sbomservice",
|
|
"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": {
|
|
"sbom-lineage-api-backend": {
|
|
"status": "done",
|
|
"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."
|
|
],
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T08:00:00Z",
|
|
"featureFile": "docs/features/checked/sbomservice/sbom-lineage-api-backend.md"
|
|
},
|
|
"sbom-lineage-edge-persistence": {
|
|
"status": "done",
|
|
"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."
|
|
],
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T08:00:00Z",
|
|
"featureFile": "docs/features/checked/sbomservice/sbom-lineage-edge-persistence.md"
|
|
},
|
|
"sbom-lineage-graph-visualization": {
|
|
"status": "done",
|
|
"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)."
|
|
],
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T08:00:00Z",
|
|
"featureFile": "docs/features/checked/sbomservice/sbom-lineage-graph-visualization.md"
|
|
},
|
|
"sbom-lineage-hover-cache-with-valkey": {
|
|
"status": "done",
|
|
"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."
|
|
],
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T08:00:00Z",
|
|
"featureFile": "docs/features/checked/sbomservice/sbom-lineage-hover-cache-with-valkey.md"
|
|
},
|
|
"sbom-lineage-ndjson-streaming-export": {
|
|
"status": "done",
|
|
"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."
|
|
],
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T08:00:00Z",
|
|
"featureFile": "docs/features/checked/sbomservice/sbom-lineage-ndjson-streaming-export.md"
|
|
},
|
|
"sbom-service-lineage-projection-api": {
|
|
"status": "done",
|
|
"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."
|
|
],
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T08:00:00Z",
|
|
"featureFile": "docs/features/checked/sbomservice/sbom-service-lineage-projection-api.md"
|
|
},
|
|
"sbom-service-registry-source-integration": {
|
|
"status": "done",
|
|
"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."
|
|
],
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T08:00:00Z",
|
|
"featureFile": "docs/features/checked/sbomservice/sbom-service-registry-source-integration.md"
|
|
},
|
|
"sbom-verdict-linking-table": {
|
|
"status": "done",
|
|
"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."
|
|
],
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T08:00:00Z",
|
|
"featureFile": "docs/features/checked/sbomservice/sbom-verdict-linking-table.md"
|
|
}
|
|
},
|
|
"lastUpdatedUtc": "2026-02-13T08:00:00Z"
|
|
}
|