33 lines
2.6 KiB
Markdown
33 lines
2.6 KiB
Markdown
# Deterministic VEX Resolver with Lattice Merge
|
|
|
|
## Module
|
|
VexLens
|
|
|
|
## Status
|
|
IMPLEMENTED
|
|
|
|
## Description
|
|
Full VEX consensus engine with lattice merge semantics, trust weight computation, and conflict resolution. Supports deterministic, commutative, idempotent, and associative merge operations.
|
|
|
|
## Implementation Details
|
|
- **Consensus engine**: `src/VexLens/StellaOps.VexLens/Consensus/VexConsensusEngine.cs`, `IVexConsensusEngine.cs` -- lattice merge with deterministic, commutative, idempotent, and associative merge operations
|
|
- **Core consensus engine**: `src/VexLens/StellaOps.VexLens/StellaOps.VexLens.Core/Consensus/VexConsensusEngine.cs`, `IVexConsensusEngine.cs` -- core consensus logic
|
|
- **Normalizers**: `src/VexLens/StellaOps.VexLens/Normalization/CsafVexNormalizer.cs`, `CycloneDxVexNormalizer.cs`, `OpenVexNormalizer.cs`, `IVexNormalizer.cs` -- normalize CSAF, CycloneDX, and OpenVEX into unified VEX model
|
|
- **Core normalizer**: `src/VexLens/StellaOps.VexLens/StellaOps.VexLens.Core/Normalization/VexLensNormalizer.cs`, `IVexLensNormalizer.cs`
|
|
- **Product mapping**: `src/VexLens/StellaOps.VexLens/Mapping/ProductMapper.cs`, `ProductIdentityMatcher.cs`, `CpeParser.cs`, `PurlParser.cs` -- product identity resolution for merge
|
|
- **Propagation engine**: `src/VexLens/StellaOps.VexLens/Propagation/PropagationRuleEngine.cs`, `IPropagationRuleEngine.cs` -- VEX statement propagation rules
|
|
- **Condition evaluator**: `src/VexLens/StellaOps.VexLens/Conditions/ConditionEvaluator.cs`, `IConditionEvaluator.cs` -- conditional merge evaluation
|
|
- **Proof builder**: `src/VexLens/StellaOps.VexLens/Proof/VexProofBuilder.cs`, `VexProof.cs`, `VexProofSerializer.cs` -- deterministic proof generation for merge decisions
|
|
- **Normalized models**: `src/VexLens/StellaOps.VexLens/Models/NormalizedVexModels.cs` -- unified VEX document model
|
|
- **Tests**: `src/VexLens/StellaOps.VexLens/__Tests/StellaOps.VexLens.Tests/E2E/VexLensPipelineDeterminismTests.cs`, `Proof/VexProofShuffleDeterminismTests.cs`, `Propagation/PropagationRuleEngineTests.cs`, `Regression/VexLensRegressionTests.cs`
|
|
- **Golden corpus**: `src/VexLens/StellaOps.VexLens/__Tests/StellaOps.VexLens.Tests/GoldenCorpus/` -- deterministic corpus tests
|
|
- **Source**: Feature matrix scan
|
|
|
|
## E2E Test Plan
|
|
- [ ] Verify lattice merge produces deterministic results regardless of input order
|
|
- [ ] Test commutativity: merge(A,B) equals merge(B,A)
|
|
- [ ] Test idempotency: merge(A,A) equals A
|
|
- [ ] Test associativity: merge(merge(A,B),C) equals merge(A,merge(B,C))
|
|
- [ ] Verify conflict resolution produces consistent outcomes
|
|
- [ ] Run golden corpus determinism tests
|