Part of the file-backed supply-chain graph requirements (#168). Identified by the #168 gap analysis (bucket 1: inventory).
Problem
The current graph models occurrences, artifacts, tags, deployments, annotations and their supply-chain edges, but has no layer, package, or file inventory. Requirements in #168 ("Layer, package, and file inventory") are unmet.
Scope
- Add
Layer, Package, File nodes and relationships to Occurrence/Artifact (associated with the platform-specific manifest that was scanned).
- Record ordered layers of a manifest.
- Track packages with stable identifiers (PURL when available): version, type, supplier, licenses, source evidence.
- Track files: path, digest, size, mode, owner, originating layer.
- Associate packages/files with the layer that introduced/changed/removed them when evidence exists.
- Preserve whiteout/removal semantics (final-filesystem interpretation) so removed files are not reported as present.
- Support inventory queries at both the per-layer and final-artifact views.
Notes
Acceptance criteria
Part of the file-backed supply-chain graph requirements (#168). Identified by the #168 gap analysis (bucket 1: inventory).
Problem
The current graph models occurrences, artifacts, tags, deployments, annotations and their supply-chain edges, but has no layer, package, or file inventory. Requirements in #168 ("Layer, package, and file inventory") are unmet.
Scope
Layer,Package,Filenodes and relationships toOccurrence/Artifact(associated with the platform-specific manifest that was scanned).Notes
Acceptance criteria
docs/architecture/observability/supply-chain-graph.md.