save checkpoint
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# VEX Delta Evidence and Tracking (Claim Transitions)
|
||||
|
||||
## Module
|
||||
Attestor
|
||||
|
||||
## Status
|
||||
VERIFIED
|
||||
|
||||
## Description
|
||||
VEX delta predicates capturing per-CVE claim transitions (affected/not_affected/fixed) with merge traces and reason codes. Tracks changes in VEX statements between scans.
|
||||
|
||||
## Implementation Details
|
||||
- **VEX Delta Predicate**: `src/Attestor/__Libraries/StellaOps.Attestor.ProofChain/Predicates/VexDeltaPredicate.cs` -- top-level predicate for VEX delta attestations.
|
||||
- **VEX Delta Change**: `Predicates/VexDeltaChange.cs` -- individual per-CVE claim transition (e.g., affected -> not_affected) with reason code.
|
||||
- **VEX Delta Statement**: `Predicates/VexDeltaStatement.cs` -- statement describing the claim transition details.
|
||||
- **VEX Delta Summary**: `Predicates/VexDeltaSummary.cs` -- aggregate summary of VEX delta changes (added, removed, status_changed counts).
|
||||
- **VEX Merge Trace**: `Predicates/VexMergeTrace.cs` -- trace of how VEX sources were merged, explaining conflict resolution and priority ordering.
|
||||
- **VEX Document Reference**: `Predicates/VexDocumentReference.cs` -- reference to the VEX document that was the source of the change.
|
||||
- **VEX Status Counts**: `Predicates/VexStatusCounts.cs` -- before and after status counts for delta comparison.
|
||||
- **Change Trace Attestation Service**: `ChangeTrace/ChangeTraceAttestationService.cs` (with `.Helpers`, `.Mapping`) -- generates change trace attestations including VEX delta entries.
|
||||
- **Change Trace Delta Entry**: `Predicates/ChangeTraceDeltaEntry.cs` -- entry in the broader change trace capturing a VEX delta event.
|
||||
- **Change Trace Predicate Summary**: `Predicates/ChangeTracePredicateSummary.cs` -- summary of all change trace predicates including VEX deltas.
|
||||
- **Tests**: `__Tests/StellaOps.Attestor.ProofChain.Tests/`
|
||||
|
||||
## E2E Test Plan
|
||||
- [ ] Create a `VexDeltaPredicate` tracking a CVE transition from affected to not_affected with justification code; verify the change is captured
|
||||
- [ ] Create a delta with multiple transitions (3 CVEs changing status) and verify `VexDeltaSummary` reports correct counts
|
||||
- [ ] Verify merge trace: create a delta resulting from merging two VEX sources and verify `VexMergeTrace` explains which source took priority
|
||||
- [ ] Track a fixed -> affected regression and verify `VexDeltaChange` captures the regression with reason code
|
||||
- [ ] Generate a change trace attestation via `ChangeTraceAttestationService` with VEX deltas and verify the attestation includes delta entries
|
||||
- [ ] Verify `VexStatusCounts` before and after: verify counts shift correctly when statuses change
|
||||
- [ ] Create a delta where a VEX document is removed entirely and verify all its claims appear as removed in the delta
|
||||
- [ ] Verify `VexDeltaStatement` details include the source VEX document reference via `VexDocumentReference`
|
||||
|
||||
## 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 |
|
||||
Reference in New Issue
Block a user