Stabilize U

This commit is contained in:
master
2026-02-16 07:33:20 +02:00
parent 45c0f1bb59
commit 70fdbfcf25
166 changed files with 20156 additions and 4833 deletions

View File

@@ -1,6 +1,5 @@
{
"module": "sbomservice",
"lastUpdated": "2026-02-13T08:00:00Z",
"featureCount": 8,
"summary": {
"checked": 8,
@@ -9,86 +8,159 @@
"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",
"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."
"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"
},
{
"name": "sbom-lineage-edge-persistence",
"slug": "sbom-lineage-edge-persistence",
"status": "checked",
"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."
"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"
},
{
"name": "sbom-lineage-graph-visualization",
"slug": "sbom-lineage-graph-visualization",
"status": "checked",
"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)."
"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"
},
{
"name": "sbom-lineage-hover-cache-with-valkey",
"slug": "sbom-lineage-hover-cache-with-valkey",
"status": "checked",
"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."
"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"
},
{
"name": "sbom-lineage-ndjson-streaming-export",
"slug": "sbom-lineage-ndjson-streaming-export",
"status": "checked",
"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."
"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"
},
{
"name": "sbom-service-lineage-projection-api",
"slug": "sbom-service-lineage-projection-api",
"status": "checked",
"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."
"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"
},
{
"name": "sbom-service-registry-source-integration",
"slug": "sbom-service-registry-source-integration",
"status": "checked",
"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."
"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"
},
{
"name": "sbom-verdict-linking-table",
"slug": "sbom-verdict-linking-table",
"status": "checked",
"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."
"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"
}