more features checks. setup improvements
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T11:20:00Z",
|
||||
"testCommand": "dotnet test src/Policy/__Tests/StellaOps.Policy.Tests/StellaOps.Policy.Tests.csproj --no-restore -v normal && dotnet test src/Policy/__Tests/StellaOps.Policy.Engine.Tests/StellaOps.Policy.Engine.Tests.csproj --no-restore -v normal",
|
||||
"testFilter": "TrustLatticeEngineIntegrationTests, K4LatticeTests, ClaimScoreMergerTests, KnowledgeSnapshotManifest tests, PolicyGateEvaluatorTests (Evidence gate), VerdictAttestationIntegrationTests covering trust lattice, K4 algebra, claim merging, proof bundles, policy gate integration",
|
||||
"testsRun": 2059,
|
||||
"testsPassed": 2059,
|
||||
"testsFailed": 0,
|
||||
"targetedTestMethods": [
|
||||
"TrustLatticeEngineIntegrationTests (trust lattice evaluation pipeline, proof bundle generation)",
|
||||
"K4LatticeTests (Join commutativity, Meet commutativity, LessOrEqual, Negate involutive, FromSupport)",
|
||||
"ClaimScoreMergerTests (highest-score selection, conflict penalty 0.25, 1000-iteration determinism)",
|
||||
"ClaimScoreMergerPropertyTests (FsCheck property-based)",
|
||||
"SnapshotBuilderTests (PolicyBundleRef with digest, content-addressed KnowledgeSnapshotManifest)",
|
||||
"PolicyGateEvaluatorTests (EvidenceCompleteness gate checks proof bundle)",
|
||||
"VerdictAttestationIntegrationTests (DSSE-signed attestations referencing proof bundles)"
|
||||
],
|
||||
"behaviorVerified": [
|
||||
"TrustLatticeEngine: pipeline VEX normalization -> claim ingestion -> K4 evaluation -> disposition selection -> proof bundle generation",
|
||||
"TrustLatticeResult: proof bundle containing all claims, evidence, and K4 lattice evaluations per subject",
|
||||
"Claims built via fluent ClaimBuilder: Assert, Present, Applies, Reachable, Mitigated, Fixed, Misattributed",
|
||||
"K4Lattice: 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",
|
||||
"ClaimScoreMerger: deterministic merge with conflict penalization (0.25 penalty), ordering by adjusted score -> specificity -> original score -> source ID -> index, MergeResult with winning claim, conflicts, RequiresReplayProof flag",
|
||||
"KnowledgeSnapshotManifest: content-addressed bundle capturing all policy evaluation inputs, PolicyBundleRef (PolicyId, Digest, Uri), ScoringRulesRef, TrustBundleRef",
|
||||
"PolicyGateEvaluator EvidenceCompleteness gate: uses proof bundles for evidence completeness verification",
|
||||
"VerdictAttestationService: DSSE-signed attestations referencing proof bundles with bundle digest",
|
||||
"Proof bundle includes: claims with scores, VEX sources, reachability signals, K4 lattice values per subject (CVE + component)"
|
||||
],
|
||||
"assertionTypes": [
|
||||
"value equality for K4 lattice values and claim scores",
|
||||
"collection assertions for proof bundle contents",
|
||||
"determinism verification (1000-iteration idempotency for claim merging)",
|
||||
"FsCheck property-based tests for lattice algebra",
|
||||
"null checks and string containment for attestation references"
|
||||
],
|
||||
"newTestsWritten": [],
|
||||
"bugsFixed": [],
|
||||
"rawOutput": "Policy.Tests: Passed! - Failed: 0, Passed: 781, Skipped: 0, Total: 781, Duration: 3s 814ms; Engine.Tests: Passed! - Failed: 0, Passed: 1278, Skipped: 0, Total: 1278, Duration: 8s 167ms",
|
||||
"verdict": "pass"
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T00:32:00Z",
|
||||
"testCommand": "dotnet test src/Policy/__Tests/StellaOps.Policy.Tests/StellaOps.Policy.Tests.csproj --no-restore -v normal && dotnet test src/Policy/__Tests/StellaOps.Policy.Engine.Tests/StellaOps.Policy.Engine.Tests.csproj --no-restore -v normal",
|
||||
"testFilter": "FullyQualifiedName~TrustLattice|FullyQualifiedName~ClaimScoreMerger|FullyQualifiedName~K4Lattice|FullyQualifiedName~PolicyBundle|FullyQualifiedName~PolicyGate (Policy.Tests + Engine.Tests)",
|
||||
"testsRun": 2059,
|
||||
"testsPassed": 2059,
|
||||
"testsFailed": 0,
|
||||
"targetedTestMethods": [
|
||||
"K4LatticeTests.Join_UnknownWithUnknown_ReturnsUnknown",
|
||||
"K4LatticeTests.Join_TrueWithFalse_ReturnsConflict",
|
||||
"K4LatticeTests.Join_ConflictWithAny_ReturnsConflict",
|
||||
"K4LatticeTests.Join_IsCommutative",
|
||||
"K4LatticeTests.Join_IsAssociative",
|
||||
"K4LatticeTests.JoinAll_MultipleValues_ReturnsJoin",
|
||||
"K4LatticeTests.Meet_TrueWithFalse_ReturnsUnknown",
|
||||
"K4LatticeTests.Meet_IsCommutative",
|
||||
"K4LatticeTests.LessOrEqual_IsReflexive",
|
||||
"K4LatticeTests.LessOrEqual_IsTransitive",
|
||||
"K4LatticeTests.FromSupport_BothSupports_ReturnsConflict",
|
||||
"K4LatticeTests.Negate_IsInvolutive",
|
||||
"ClaimScoreMergerTests.Merge_SelectsHighestScore",
|
||||
"ClaimScoreMergerTests.Merge_AppliesConflictPenalty",
|
||||
"ClaimScoreMergerTests.Merge_IsDeterministic",
|
||||
"ClaimScoreMergerPropertyTests.Merge_EmptyClaims_ReturnsUnderInvestigation",
|
||||
"TrustLatticeEngineIntegrationTests.VendorVsScannerConflict_DetectsConflict",
|
||||
"TrustLatticeEngineIntegrationTests.VendorVsScannerConflict_ProofBundleCapturesEvidence",
|
||||
"TrustLatticeEngineIntegrationTests.AllSourcesAgree_Exploitable_Disposition",
|
||||
"TrustLatticeEngineIntegrationTests.Fixed_Overrides_Exploitability",
|
||||
"TrustLatticeEngineIntegrationTests.Misattributed_Produces_FalsePositive",
|
||||
"TrustLatticeEngineIntegrationTests.NotReachable_Produces_NotAffected",
|
||||
"TrustLatticeEngineIntegrationTests.Mitigated_Produces_NotAffected",
|
||||
"TrustLatticeEngineIntegrationTests.InsufficientData_Produces_InTriage",
|
||||
"TrustLatticeEngineIntegrationTests.MultipleSubjects_EvaluatesAll",
|
||||
"TrustLatticeEngineIntegrationTests.ProofBundle_ContentAddressable",
|
||||
"TrustLatticeEngineIntegrationTests.DecisionTrace_ContainsAllEvaluatedRules",
|
||||
"TrustLatticeEngineIntegrationTests.DecisionTrace_FirstMatchWins",
|
||||
"TrustLatticeEngineIntegrationTests.Stats_ReflectStoreState",
|
||||
"TrustLatticeEngineIntegrationTests.Clear_ResetsEngine",
|
||||
"LatticeStoreTests.IngestClaim_ComputesContentAddressableId",
|
||||
"LatticeStoreTests.ConflictingAssertions_ReturnsConflict",
|
||||
"LatticeStoreTests.GetConflictingSubjects_ReturnsConflicts",
|
||||
"LatticeStoreTests.SubjectState_ToSnapshot_CapturesAllAtoms",
|
||||
"VexNormalizerTests.CycloneDx_Affected_SetsPresent_And_Applies_True",
|
||||
"VexNormalizerTests.OpenVex_Affected_SetsPresent_And_Applies_True",
|
||||
"VexNormalizerTests.Csaf_KnownAffected_SetsPresent_And_Applies_True",
|
||||
"PolicyGatesTests.MinimumConfidenceGate_FailsBelowThreshold",
|
||||
"PolicyGatesTests.UnknownsBudgetGate_FailsWhenBudgetExceeded",
|
||||
"PolicyGatesTests.SourceQuotaGate_FailsWithoutCorroboration",
|
||||
"PolicyGatesTests.ReachabilityRequirementGate_FailsWithoutProof",
|
||||
"PolicyGateRegistryTests.Registry_StopsOnFirstFailure",
|
||||
"PolicyGateRegistryTests.Registry_CollectsAllWhenConfigured",
|
||||
"PolicyBundleServiceTests.CompileAndStoreAsync_SucceedsAndStoresBundle",
|
||||
"PolicyBundleServiceTests.CompileAndStoreAsync_FailsWithBadSyntax",
|
||||
"PolicyBundleServiceTests.CompileAndStoreAsync_ReturnsAocMetadata",
|
||||
"PolicyBundleServiceTests.CompileAndStoreAsync_IncludesProvenanceWhenProvided",
|
||||
"PolicyBundleServiceTests.CompileAndStoreAsync_NullAocMetadataOnFailure",
|
||||
"PolicyBundleServiceTests.CompileAndStoreAsync_SourceDigestIsDeterministic"
|
||||
],
|
||||
"behaviorVerified": [
|
||||
"K4 four-valued logic algebra: Join (T join F = Conflict), Meet (T meet F = Unknown), Negate, LessOrEqual",
|
||||
"K4 algebraic properties: commutativity, associativity, reflexivity, transitivity, involutive negation",
|
||||
"FromSupport converts evidence support to K4 value",
|
||||
"ClaimScoreMerger selects highest score with deterministic merge ordering",
|
||||
"Conflict penalty of 0.25 applied when conflicting claims exist",
|
||||
"1000-iteration determinism test for ClaimScoreMerger",
|
||||
"Empty claims returns UnderInvestigation disposition",
|
||||
"TrustLatticeEngine pipeline: VEX normalization -> claim ingestion -> K4 evaluation -> disposition selection -> proof bundle generation",
|
||||
"Vendor vs Scanner conflict detection with K4 Conflict value",
|
||||
"Proof bundle captures all evidence including claims with scores",
|
||||
"Content-addressable proof bundles",
|
||||
"Multiple subjects evaluated in single lattice engine call",
|
||||
"Decision trace contains all evaluated rules with first-match-wins semantics",
|
||||
"VEX normalization for CycloneDX, OpenVEX, and CSAF formats",
|
||||
"LatticeStore content-addressable claim IDs and conflict tracking",
|
||||
"PolicyGate evaluation: MinimumConfidence, UnknownsBudget, SourceQuota, ReachabilityRequirement",
|
||||
"PolicyGateRegistry stop-on-first-failure and collect-all modes",
|
||||
"PolicyBundleService compile and store with deterministic source digest",
|
||||
"Provenance metadata included in policy bundles"
|
||||
],
|
||||
"assertionTypes": [
|
||||
"algebraic-property-verification",
|
||||
"determinism-verification",
|
||||
"content-addressability",
|
||||
"pipeline-end-to-end",
|
||||
"conflict-detection",
|
||||
"vex-normalization",
|
||||
"gate-evaluation",
|
||||
"proof-bundle-completeness",
|
||||
"disposition-selection"
|
||||
],
|
||||
"newTestsWritten": [],
|
||||
"bugsFixed": [],
|
||||
"rawOutput": "Policy.Tests: Passed! - Failed: 0, Passed: 781, Skipped: 0, Total: 781, Duration: 3s 450ms; Engine.Tests: Passed! - Failed: 0, Passed: 1278, Skipped: 0, Total: 1278, Duration: 7s 799ms",
|
||||
"verdict": "pass"
|
||||
}
|
||||
Reference in New Issue
Block a user