more features checks. setup improvements
This commit is contained in:
@@ -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."
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user