30 lines
2.1 KiB
Markdown
30 lines
2.1 KiB
Markdown
# Validation Harness and Reproducibility Verification
|
|
|
|
## Module
|
|
BinaryIndex
|
|
|
|
## Status
|
|
IMPLEMENTED
|
|
|
|
## Description
|
|
Validation harness with determinism validation, SBOM stability checking, and reproducible build verification. Includes local rebuild backend and bundle export/import.
|
|
|
|
## Implementation Details
|
|
- **Modules**: `src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Validation/`, `src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.GroundTruth.Reproducible/`, `src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Builders/`
|
|
- **Key Classes**:
|
|
- `ValidationHarness` (`src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Validation/ValidationHarness.cs`) - main validation harness with `IMatcherAdapterFactory` for pluggable matching
|
|
- `ValidationHarnessService` (`src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.GroundTruth.Reproducible/ValidationHarnessService.cs`) - reproducible-build validation with `ValidationRunContext`
|
|
- `ReproducibleBuildJob` (`src/BinaryIndex/StellaOps.BinaryIndex.Worker/Jobs/ReproducibleBuildJob.cs`) - local rebuild backend
|
|
- `KpiRegressionService` (`src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.GroundTruth.Reproducible/Services/KpiRegressionService.cs`) - SBOM stability and KPI regression tracking
|
|
- **Bundle Export/Import**: `ServiceCollectionExtensions.AddCorpusBundleExport/Import` (`src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.GroundTruth.Reproducible/ServiceCollectionExtensions.cs`)
|
|
- **Interfaces**: `IValidationHarness`, `IKpiRegressionService`, `IReproducibleBuildJob`
|
|
- **Registration**: `ValidationServiceCollectionExtensions.AddValidationHarness()`
|
|
|
|
## E2E Test Plan
|
|
- [ ] Run validation harness and verify deterministic results for identical inputs
|
|
- [ ] Verify SBOM stability checking detects unstable hash generation
|
|
- [ ] Verify reproducible build verification: rebuild from source and compare against original binary
|
|
- [ ] Verify bundle export produces a self-contained archive importable on air-gapped systems
|
|
- [ ] Verify bundle import restores corpus data and enables offline validation
|
|
- [ ] Verify KPI regression tracking across multiple validation harness runs
|