45 lines
3.0 KiB
Markdown
45 lines
3.0 KiB
Markdown
# Policy Bundles with Proof Objects
|
|
|
|
## Module
|
|
Policy
|
|
|
|
## Status
|
|
IMPLEMENTED
|
|
|
|
## Description
|
|
Policy bundles with proof objects, security atoms, claims, and subjects forming the trust lattice algebra substrate.
|
|
|
|
## Implementation Details
|
|
- **TrustLatticeEngine**: `src/Policy/__Libraries/StellaOps.Policy/TrustLattice/TrustLatticeEngine.cs`
|
|
- Pipeline: VEX normalization -> claim ingestion -> K4 evaluation -> disposition selection -> proof bundle generation
|
|
- `Evaluate()` returns TrustLatticeResult with proof bundle containing all claims, evidence, and K4 lattice evaluations
|
|
- Proof bundle includes: claims with scores, VEX sources, reachability signals, K4 lattice values per subject
|
|
- Claims built via fluent ClaimBuilder: Assert, Present, Applies, Reachable, Mitigated, Fixed, Misattributed
|
|
- **K4Lattice**: `src/Policy/__Libraries/StellaOps.Policy/TrustLattice/K4Lattice.cs`
|
|
- Four-valued logic (Unknown=0, True=1, False=2, Conflict=3)
|
|
- Algebraic operations: Join (T join F = Conflict), Meet (T meet F = Unknown), Negate, LessOrEqual
|
|
- `FromSupport()` converts evidence support to K4 value
|
|
- **ClaimScoreMerger**: `src/Policy/__Libraries/StellaOps.Policy/TrustLattice/ClaimScoreMerger.cs`
|
|
- Deterministic merge with conflict penalization (0.25 penalty)
|
|
- Ordering: adjusted score -> specificity -> original score -> source ID -> index
|
|
- Returns MergeResult with winning claim, conflicts, RequiresReplayProof flag
|
|
- **KnowledgeSnapshotManifest**: `src/Policy/__Libraries/StellaOps.Policy/Snapshots/KnowledgeSnapshotManifest.cs`
|
|
- Content-addressed bundle capturing all policy evaluation inputs
|
|
- PolicyBundleRef (PolicyId, Digest, Uri) for bundle identification
|
|
- ScoringRulesRef, TrustBundleRef for scoring and trust configuration
|
|
- **PolicyGateEvaluator**: `src/Policy/StellaOps.Policy.Engine/Gates/PolicyGateEvaluator.cs`
|
|
- Uses trust lattice results in Lattice State gate
|
|
- Uses proof bundles for evidence completeness verification
|
|
- **VerdictAttestationService**: `src/Policy/StellaOps.Policy.Engine/Attestation/VerdictAttestationService.cs` -- DSSE-signed attestations referencing proof bundles
|
|
|
|
## E2E Test Plan
|
|
- [ ] Evaluate trust lattice with 3 VEX claims; verify proof bundle contains all 3 claims with scores
|
|
- [ ] Evaluate trust lattice with conflicting claims; verify proof bundle includes conflict markers and K4 Conflict value
|
|
- [ ] Build policy bundle with PolicyBundleRef; verify Digest is content-addressed
|
|
- [ ] Verify proof bundle includes K4 lattice values for each subject (CVE + component)
|
|
- [ ] Verify ClaimScoreMerger produces deterministic merge result for identical inputs
|
|
- [ ] Verify claim with higher specificity wins over claim with higher raw score when conflict exists
|
|
- [ ] Evaluate with RequiresReplayProof=true; verify proof bundle is flagged for replay verification
|
|
- [ ] Reference proof bundle from VerdictAttestationService; verify attestation includes bundle digest
|
|
- [ ] Evaluate PolicyGateEvaluator Evidence gate; verify it checks proof bundle completeness
|