Golden Test Corpus
This directory contains the golden test corpus for StellaOps validation. Each test case is a complete, reproducible scenario with known-good inputs and expected outputs.
Schema Version
Corpus Version: 1.0.0
Run Manifest Schema: 1.0.0
Evidence Index Schema: 1.0.0
OpenVEX Schema: 0.2.0
SPDX Version: 3.0.1
CycloneDX Version: 1.6
Directory Structure
bench/golden-corpus/
├── README.md
├── corpus-manifest.json
├── corpus-version.json
├── categories/
│ ├── severity/
│ ├── vex/
│ ├── reachability/
│ ├── unknowns/
│ ├── scale/
│ ├── distro/
│ ├── interop/
│ ├── negative/
│ └── composite/
└── shared/
├── policies/
├── feeds/
└── keys/
Test Case Format
Each test case directory contains:
| Path | Description |
|---|---|
case-manifest.json |
Case metadata |
run-manifest.json |
Run manifest for replay |
input/sbom-cyclonedx.json |
CycloneDX SBOM input |
input/sbom-spdx.json |
SPDX SBOM input |
input/image.tar.gz |
Image tarball (fixture) |
expected/verdict.json |
Expected verdict output |
expected/evidence-index.json |
Expected evidence index |
expected/unknowns.json |
Expected unknowns output |
expected/delta-verdict.json |
Expected delta verdict |
Running Corpus Scripts
python3 scripts/corpus/validate-corpus.py
python3 scripts/corpus/generate-manifest.py
python3 scripts/corpus/check-determinism.py
python3 scripts/corpus/add-case.py --category severity --name SEV-009
Versioning Policy
- Patch (1.0.x): Add new cases, fix existing case data
- Minor (1.x.0): Algorithm tuning that preserves relative ordering
- Major (x.0.0): Algorithm changes that alter expected outputs
When algorithms change:
- Increment corpus version
- Regenerate case outputs
- Update
corpus-manifest.json