more features checks. setup improvements

This commit is contained in:
master
2026-02-13 02:04:55 +02:00
parent 9911b7d73c
commit 9ca2de05df
675 changed files with 37550 additions and 1826 deletions

View File

@@ -0,0 +1,19 @@
{
"tier": 1,
"type": "code_review",
"capturedAtUtc": "2026-02-12T12:40:00Z",
"feature": "explainability-testing-framework",
"claimsVerified": true,
"missingClaims": [],
"presentClaims": [
"Explainability/VerdictRationaleRenderer.cs - sealed class implementing IVerdictRationaleRenderer",
"Explainability/VerdictRationale.cs - 4-line template structure",
"Explainability/IVerdictRationaleRenderer.cs - interface with VerdictRationaleInput",
"Explainability/ProofGraphBuilder.cs, ProofGraphModels.cs - proof graph construction",
"Explainability/ProofStudioService.cs - proof studio",
"Explainability/ScoreBreakdownDashboard.cs - score breakdown",
"Determinization.Tests/PropertyTests/DeterminismPropertyTests.cs - property-based determinism tests"
],
"verdict": "done",
"notes": "Full explainability framework verified. VerdictRationaleRenderer with Render/RenderPlainText/RenderMarkdown/RenderJson. 4-line rationale structure (Evidence, PolicyClause, Attestations, Decision). Content-addressed RationaleId via SHA256. Property-based tests for determinism. ProofGraph and ScoreBreakdown components."
}

View File

@@ -0,0 +1,53 @@
{
"type": "integration",
"capturedAtUtc": "2026-02-13T03:56:00Z",
"testCommand": "dotnet test src/Policy/__Tests/StellaOps.Policy.Explainability.Tests/StellaOps.Policy.Explainability.Tests.csproj --no-restore -v normal; dotnet test src/Policy/__Tests/StellaOps.Policy.Determinization.Tests/StellaOps.Policy.Determinization.Tests.csproj --no-restore -v normal",
"testFilter": "VerdictRationaleRendererTests, ProofGraphBuilderTests, ProofStudioServiceTests, DeterminismPropertyTests (rationale determinism)",
"testsRun": 473,
"testsPassed": 473,
"testsFailed": 0,
"targetedTestMethods": [
"VerdictRationaleRendererTests.Render_Should_CreateCompleteRationale",
"VerdictRationaleRendererTests.Render_Should_BeContentAddressed",
"VerdictRationaleRendererTests.RenderPlainText_Should_ProduceFourLineFormat",
"VerdictRationaleRendererTests.RenderMarkdown_Should_IncludeHeaders",
"VerdictRationaleRendererTests.RenderJson_Should_ProduceValidJson",
"VerdictRationaleRendererTests.Evidence_Should_IncludeReachabilityDetails",
"VerdictRationaleRendererTests.Evidence_Should_HandleMissingReachability",
"VerdictRationaleRendererTests.Attestations_Should_HandleNoAttestations",
"VerdictRationaleRendererTests.Decision_Should_IncludeMitigation"
],
"behaviorVerified": [
"VerdictRationaleRenderer.Render produces structured 4-line rationale with content-addressed RationaleId",
"RationaleId format: 'rat:sha256:{hash}' computed from SHA256 of canonical JSON",
"Content-addressed determinism: same input always produces same RationaleId",
"Different inputs produce different RationaleIds",
"RenderPlainText produces 4 lines: Evidence, Policy Clause, Attestations, Decision",
"PlainText line 1 contains CVE ID, component name, vulnerable function, entry point",
"PlainText line 2 contains Policy clause ID and conditions",
"PlainText line 3 contains path witness and VEX statements",
"PlainText line 4 contains verdict, score, and mitigation action",
"RenderMarkdown produces valid Markdown with ## Verdict Rationale and ### section headers",
"Markdown includes RationaleId for traceability",
"RenderJson produces canonical JSON (RFC 8785) with snake_case keys",
"JSON contains rationale_id, evidence, policy_clause, attestations, decision sections",
"Missing reachability handled gracefully (no 'reachable' in output)",
"No attestations handled: 'No attestations available.'",
"Decision includes mitigation action and details",
"VerdictRationale model: 4-line template (Evidence, PolicyClause, Attestations, Decision)",
"SchemaVersion: '1.0', RationaleInputDigests for reproducibility"
],
"assertionTypes": [
"content-addressing",
"determinism",
"format-validation",
"markdown-structure",
"json-canonical",
"graceful-degradation",
"template-structure"
],
"newTestsWritten": [],
"bugsFixed": [],
"rawOutput": "Explainability.Tests: 35/35 passed; Determinization.Tests: 438/438 passed",
"verdict": "pass"
}