# 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