3.1 KiB
3.1 KiB
Predicate Schema Validation (including Delta Validators)
Module
Attestor
Status
VERIFIED
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
PredicateSchemaValidatorand verify it passes with no errors - Validate a malformed Evidence predicate (missing required fields) and verify
SchemaValidationResultcontains specificSchemaValidationErrorentries 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
SlsaSchemaValidatorand verify buildDefinition, runDetails, and level are checked - Validate a binary diff predicate against
BinaryDiffSchemaand verify schema compliance - Validate a CycloneDX predicate via
CycloneDxWriter.Validationand verify BOM-specific rules are enforced - Verify
SchemaValidationErrorprovides sufficient detail: JSON path, error message, and severity level
Verification
| Check | Result |
|---|---|
| Tier 0 - Source Verification | PASS |
| Tier 1 - Build + Code Review | PASS |
| Tier 2 - Behavioral Verification | PASS |
| Verified Date | 2026-02-13 |
| Run ID | run-001 |