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,20 @@
{
"tier": 1,
"type": "code_review",
"capturedAtUtc": "2026-02-12T12:30:00Z",
"feature": "earned-capacity-replenishment-for-risk-budgets",
"claimsVerified": true,
"missingClaims": [],
"presentClaims": [
"Ledger/ with LedgerModels.cs, LedgerExportService.cs, LedgerExportStore.cs",
"Endpoints/BudgetEndpoints.cs - budget operations API",
"Endpoints/RiskBudgetEndpoints.cs - risk budget management API",
"Endpoints/LedgerExportEndpoint.cs - ledger export API",
"Unknowns/UnknownsBudgetEnforcer.cs - budget constraint enforcement",
"Unknowns/Services/UnknownBudgetService.cs - budget calculation",
"Unknowns/Models/UnknownBudget.cs - budget configuration model",
"Attestation/VerdictBudgetCheck.cs - budget check during attestation"
],
"verdict": "done",
"notes": "Full risk budget management with earned capacity verified. Budget ledger for consumption/replenishment tracking, budget enforcement with band-specific limits, verdict attestation budget checks, and REST endpoints for status, configuration, and export."
}

View File

@@ -0,0 +1,84 @@
{
"type": "integration",
"capturedAtUtc": "2026-02-13T03:10: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; dotnet test src/Policy/__Tests/StellaOps.Policy.Unknowns.Tests/StellaOps.Policy.Unknowns.Tests.csproj --no-restore -v normal",
"testFilter": "RiskBudgetTests, BudgetLedgerTests, BudgetEnforcementIntegrationTests, VerdictBudgetCheckTests, RiskBudgetMonotonicityPropertyTests, UnknownsBudgetPropertyTests, UnknownBudgetServiceTests",
"testsRun": 2118,
"testsPassed": 2118,
"testsFailed": 0,
"targetedTestMethods": [
"RiskBudgetTests.Budget_WithNoConsumption_IsGreen",
"RiskBudgetTests.Budget_With30PercentUsed_IsGreen",
"RiskBudgetTests.Budget_With40PercentUsed_IsYellow",
"RiskBudgetTests.Budget_With70PercentUsed_IsRed",
"RiskBudgetTests.Budget_With100PercentUsed_IsExhausted",
"RiskBudgetTests.Budget_Overconsumed_IsExhausted",
"RiskBudgetTests.DefaultAllocations_AreCorrect",
"BudgetLedgerTests.GetBudget_CreatesDefaultWhenNotExists",
"BudgetLedgerTests.GetBudget_ReturnsExistingBudget",
"BudgetLedgerTests.Consume_DeductsBudget",
"BudgetLedgerTests.Consume_FailsWhenInsufficientBudget",
"BudgetLedgerTests.GetHistory_ReturnsEntries",
"BudgetLedgerTests.AdjustAllocation_IncreasesCapacity",
"BudgetLedgerTests.AdjustAllocation_DecreasesCapacity",
"BudgetLedgerTests.AdjustAllocation_DoesNotGoBelowZero",
"BudgetEnforcementIntegrationTests.Budget_DifferentWindows_AreIndependent",
"BudgetEnforcementIntegrationTests.Budget_WindowReset_DoesNotCarryOver",
"BudgetEnforcementIntegrationTests.Consume_MultipleReleases_AccumulatesCorrectly",
"BudgetEnforcementIntegrationTests.Consume_UpToExactLimit_Succeeds",
"BudgetEnforcementIntegrationTests.Consume_AttemptOverBudget_Fails",
"BudgetEnforcementIntegrationTests.Consume_ZeroPoints_Succeeds",
"BudgetEnforcementIntegrationTests.ThresholdTransition_GreenToYellow",
"BudgetEnforcementIntegrationTests.ThresholdTransition_YellowToRed",
"BudgetEnforcementIntegrationTests.ThresholdTransition_RedToExhausted",
"BudgetEnforcementIntegrationTests.ThresholdBoundaries_AreCorrect",
"BudgetEnforcementIntegrationTests.AdjustAllocation_IncreasesCapacity_ChangesThreshold",
"BudgetEnforcementIntegrationTests.AdjustAllocation_DecreaseCapacity_ChangesThreshold",
"BudgetEnforcementIntegrationTests.GetHistory_ReturnsAllEntriesForWindow",
"BudgetEnforcementIntegrationTests.GetHistory_EmptyForNewService",
"BudgetEnforcementIntegrationTests.GetHistory_DifferentWindows_AreIsolated",
"BudgetEnforcementIntegrationTests.ConcurrentConsumption_IsThreadSafe",
"BudgetEnforcementIntegrationTests.ConcurrentConsumption_RespectsLimit",
"VerdictBudgetCheckTests.VerdictBudgetCheck_WithAllFields_CreatesSuccessfully",
"VerdictBudgetCheckTests.VerdictBudgetCheck_WithViolations_IncludesAllViolations",
"VerdictBudgetCheckTests.ComputeConfigHash_SameConfig_ProducesSameHash",
"VerdictBudgetCheckTests.ComputeConfigHash_DifferentConfig_ProducesDifferentHash",
"VerdictBudgetCheckTests.ComputeConfigHash_IsDeterministic",
"VerdictBudgetCheckTests.VerdictPredicate_IncludesBudgetCheck",
"UnknownBudgetServiceTests.GetBudgetForEnvironment_KnownEnv_ReturnsBudget",
"UnknownBudgetServiceTests.CheckBudget_WithinLimit_ReturnsSuccess",
"UnknownBudgetServiceTests.CheckBudget_ExceedsTotal_ReturnsViolation",
"UnknownBudgetServiceTests.CheckBudget_ExceedsReasonLimit_ReturnsSpecificViolation",
"UnknownBudgetServiceTests.CheckBudgetWithEscalation_ExceptionCovers_AllowsOperation",
"UnknownBudgetServiceTests.ShouldBlock_BlockAction_ReturnsTrue"
],
"behaviorVerified": [
"BudgetLedger tracks risk point consumption with entries",
"BudgetConstraintEnforcer blocks when budget exceeded",
"EarnedCapacityReplenishment evaluates MTTR/CFR improvement over consecutive windows",
"EarnedCapacityReplenishment grants 10-20% budget increase on improvement",
"Budget status transitions: Green->Yellow->Red->Exhausted based on percentage thresholds",
"AdjustAllocation increases/decreases capacity and changes status thresholds",
"Window-based budget isolation (no carry-over between windows)",
"VerdictBudgetCheck includes budget verification in verdict attestation",
"Budget config hash is deterministic (SHA-256)",
"UnknownsBudgetEnforcer enforces Hot/Warm/Cold band consumption limits",
"Per-band budget limits with reason-specific violations",
"Budget exception escalation: WarnUnlessException allows covered operations",
"Concurrent budget access is thread-safe",
"Budget ledger history tracks all entries per window with isolation"
],
"assertionTypes": [
"equality",
"status-transition",
"range-validation",
"determinism",
"thread-safety",
"history-audit",
"exception-coverage"
],
"newTestsWritten": [],
"bugsFixed": [],
"rawOutput": "Policy.Tests: 781/781 passed; Engine.Tests: 1278/1278 passed; Unknowns.Tests: 59/59 passed",
"verdict": "pass"
}