save checkpoint

This commit is contained in:
master
2026-02-14 09:11:48 +02:00
parent 9ca2de05df
commit e9aeadc040
1512 changed files with 30863 additions and 4728 deletions

View File

@@ -0,0 +1,27 @@
# SBOM Lineage NDJSON Streaming Export
## Module
SbomService
## Status
IMPLEMENTED
## Description
NDJSON (newline-delimited JSON) streaming export for SBOM lineage graphs. Enables efficient bulk export of lineage data for offline analysis, air-gap transfer, and integration with external tools that consume streaming JSON formats.
## Implementation Details
- **Export service interface**: `src/SbomService/StellaOps.SbomService/Services/ILineageExportService.cs` -- export contract
- **Export service implementation**: `src/SbomService/StellaOps.SbomService/Services/LineageExportService.cs` -- generates signed evidence packs in NDJSON format; 50MB max export size; includes SBOM diff, VEX deltas, reachability diffs, and attestations; optional keyless signing
- **Export models**: `src/SbomService/StellaOps.SbomService/Models/LineageExportModels.cs` -- `LineageExportRequest`, `LineageExportResponse`, `EvidencePack` (NDJSON structured); configurable includes (SbomDiff, VexDeltas, ReachabilityDiff, Attestations)
- **NDJSON endpoint**: `src/SbomService/StellaOps.SbomService/Program.cs` -- endpoint returns `application/x-ndjson` content type with deterministic line ordering
- **Tests**: `src/SbomService/StellaOps.SbomService.Tests/ResolverFeedExportTests.cs` -- `Export_returns_ndjson_in_deterministic_order` test verifying NDJSON output and content type
- **Frontend export UI**: `src/Web/StellaOps.Web/src/app/features/lineage/components/lineage-export-buttons/lineage-export-buttons.component.ts`, `lineage-export-dialog/lineage-export-dialog.component.ts`, `export-dialog/export-dialog.component.ts`
- **Frontend export service**: `src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-export.service.ts`
- **Source**: BATCH_20251229_BE_COMPLETION_SUMMARY.md (SBOM Lineage API sprint section)
## E2E Test Plan
- [ ] Verify NDJSON export endpoint returns `application/x-ndjson` content type
- [ ] Test deterministic ordering of export lines
- [ ] Verify 50MB export size limit is enforced
- [ ] Test configurable include flags (SbomDiff, VexDeltas, ReachabilityDiff, Attestations)
- [ ] Verify export works through frontend export dialog UI