semi implemented and features implemented save checkpoint

This commit is contained in:
master
2026-02-08 18:00:49 +02:00
parent 04360dff63
commit 1bf6bbf395
20895 changed files with 716795 additions and 64 deletions

View File

@@ -0,0 +1,32 @@
# Predicate Schema Validation (including Delta Validators)
## Module
Attestor
## Status
IMPLEMENTED
## Description
Schema validation for all predicate types including SBOM deltas, VEX deltas, reachability witnesses, and delta verdicts.
## Implementation Details
- **Predicate Schema Validator**: `src/Attestor/__Libraries/StellaOps.Attestor.ProofChain/Json/PredicateSchemaValidator.cs` -- core validator that validates predicate payloads against registered schemas.
- **Standard Validators**: `Json/PredicateSchemaValidator.Validators.cs` -- validators for standard predicate types: Evidence, Reasoning, VexVerdict, ProofSpine, SbomLinkage, Uncertainty, MicroWitness.
- **Delta Validators**: `Json/PredicateSchemaValidator.DeltaValidators.cs` -- validators for delta predicate types: DeltaVerdict, ChangeTrace, SbomDelta, VexDelta, ReachabilityDrift.
- **Schema Validation Result**: `Json/SchemaValidationResult.cs` -- result model with pass/fail status and validation errors list.
- **Schema Validation Error**: `Json/SchemaValidationError.cs` -- individual validation error with path, message, and severity.
- **SLSA Schema Validator**: `__Libraries/StellaOps.Attestor.StandardPredicates/Validation/SlsaSchemaValidator.cs` (with `.BuildDefinition`, `.Helpers`, `.Level`, `.RunDetails`) -- SLSA-specific schema validation. `SlsaValidationResult.cs` -- SLSA validation result.
- **Binary Diff Schema**: `__Libraries/StellaOps.Attestor.StandardPredicates/BinaryDiff/BinaryDiffSchema.SchemaJson.cs` -- embedded JSON schema for binary diff predicates. `BinaryDiffSchemaValidationResult.cs` -- validation result.
- **CycloneDX Validation**: `__Libraries/StellaOps.Attestor.StandardPredicates/Writers/CycloneDxWriter.Validation.cs` -- CycloneDX-specific validation.
- **SPDX Validation**: `Parsers/SpdxPredicateParser.Validation.cs` -- SPDX-specific validation.
- **Tests**: `__Tests/StellaOps.Attestor.ProofChain.Tests/PredicateSchemaValidatorTests.cs`
## E2E Test Plan
- [ ] Validate a well-formed Evidence predicate via `PredicateSchemaValidator` and verify it passes with no errors
- [ ] Validate a malformed Evidence predicate (missing required fields) and verify `SchemaValidationResult` contains specific `SchemaValidationError` entries with paths
- [ ] Validate all standard predicate types via `.Validators`: Evidence, Reasoning, VexVerdict, ProofSpine, SbomLinkage
- [ ] Validate all delta predicate types via `.DeltaValidators`: DeltaVerdict, ChangeTrace, SbomDelta, VexDelta, ReachabilityDrift
- [ ] Validate a SLSA provenance predicate via `SlsaSchemaValidator` and verify buildDefinition, runDetails, and level are checked
- [ ] Validate a binary diff predicate against `BinaryDiffSchema` and verify schema compliance
- [ ] Validate a CycloneDX predicate via `CycloneDxWriter.Validation` and verify BOM-specific rules are enforced
- [ ] Verify `SchemaValidationError` provides sufficient detail: JSON path, error message, and severity level