documentation cleanse, sprints work and planning. remaining non EF DAL migration to EF
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"type": "integration",
|
||||
"capturedAtUtc": "2026-02-13T07:43:00Z",
|
||||
"testCommand": "dotnet test src/Policy/__Tests/StellaOps.Policy.Determinization.Tests/StellaOps.Policy.Determinization.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": "ObservationDecay|DecayedConfidence|Triage|UnknownRanker",
|
||||
"testsRun": 497,
|
||||
"testsPassed": 497,
|
||||
"testsFailed": 0,
|
||||
"targetedTestMethods": [
|
||||
"ObservationDecayTests.Fresh_Should_CreateZeroAgeDecay",
|
||||
"ObservationDecayTests.CalculateDecay_Should_ApplyHalfLifeFormula",
|
||||
"ObservationDecayTests.CalculateDecay_Should_NotDropBelowFloor",
|
||||
"ObservationDecayTests.IsStale_Should_DetectStaleObservations",
|
||||
"ObservationDecayTests.CalculateDecay_Should_ReturnOneForFutureDates",
|
||||
"DecayedConfidenceCalculatorTests (exponential half-life formula, histogram metrics)",
|
||||
"DecayPropertyTests (10 FsCheck: monotonicity, half-life, floor, range, strict-100d-decreasing, shorter-halflife-faster)",
|
||||
"TriageQueueEvaluatorTests.EvaluateSingle_FreshObservation_ReturnsNull",
|
||||
"TriageQueueEvaluatorTests.EvaluateSingle_SlightlyAged_ReturnsNull",
|
||||
"TriageQueueEvaluatorTests.EvaluateSingle_ApproachingStaleness_ReturnsLowPriority",
|
||||
"TriageQueueEvaluatorTests.EvaluateSingle_Stale_ReturnsMediumPriority",
|
||||
"TriageQueueEvaluatorTests.EvaluateSingle_HeavilyDecayed_ReturnsHighPriority",
|
||||
"TriageQueueEvaluatorTests.EvaluateSingle_AtFloor_ReturnsCriticalPriority",
|
||||
"TriageQueueEvaluatorTests.EvaluateSingle_WithSignalGaps_SetsRecommendedAction",
|
||||
"TriageQueueEvaluatorTests.EvaluateAsync_MixedObservations_SortsByPriorityThenUrgency",
|
||||
"TriageQueueEvaluatorTests.EvaluateAsync_Deterministic_SameInputsSameOutput",
|
||||
"TriageQueueEvaluatorTests.ClassifyPriority_ReturnsExpectedTier (Theory, 7 cases)",
|
||||
"TriageQueueEvaluatorTests.CalculateDaysUntilStale_FreshObservation_ReturnsPositive",
|
||||
"TriageQueueEvaluatorTests.CalculateDaysUntilStale_AlreadyStale_ReturnsNegative",
|
||||
"UnknownTriageQueueServiceTests.ExecuteCycleAsync_NoCandidates_ReturnsEmptySnapshot",
|
||||
"UnknownTriageQueueServiceTests.ExecuteCycleAsync_StaleObservations_EnqueuedToSink",
|
||||
"UnknownTriageQueueServiceTests.ExecuteCycleAsync_OnlyApproaching_NotEnqueued",
|
||||
"UnknownTriageQueueServiceTests.ExecuteCycleAsync_MixedStaleAndFresh_OnlyStaleEnqueued",
|
||||
"UnknownTriageQueueServiceTests.ExecuteCycleAsync_WithTenantFilter_PassesToSource",
|
||||
"UnknownTriageQueueServiceTests.EvaluateOnDemandAsync_DoesNotEnqueue",
|
||||
"UnknownTriageQueueServiceTests.InMemorySink_EnqueueAndDrain",
|
||||
"UnknownTriageQueueServiceTests.InMemorySink_TryDequeue_EmptyQueue_ReturnsFalse",
|
||||
"UnknownTriageQueueServiceTests.InMemorySink_PeekAll_DoesNotRemove",
|
||||
"UnknownRankerTests.ComputeDecay_AgeBuckets_ReturnsCorrectMultiplier (Theory, 11 cases)"
|
||||
],
|
||||
"behaviorVerified": [
|
||||
"DecayedConfidenceCalculator: exponential decay formula max(floor, baseConfidence * exp(-ln(2) * ageDays / halfLifeDays))",
|
||||
"ObservationDecay: per-observation decay state with BaseConfidence, ObservedAt, HalfLifeDays=14, Floor=0.35, StalenessThreshold=0.50",
|
||||
"ObservationDecay.CalculateDecay(now) computes current decayed confidence correctly",
|
||||
"ObservationDecay.CheckIsStale(now) returns true when decayed confidence falls below 0.50 staleness threshold",
|
||||
"ObservationDecay factory methods: Create(), Fresh(), WithSettings()",
|
||||
"UnknownTriageQueueService: periodically evaluates observations and enqueues stale items for re-analysis",
|
||||
"UnknownTriageQueueService.ExecuteCycleAsync: fetch candidates -> evaluate via TriageQueueEvaluator -> enqueue Medium/High/Critical to ITriageReanalysisSink",
|
||||
"TriageQueueEvaluator: priority classification Critical/High/Medium/Low/None based on decay multiplier thresholds",
|
||||
"TriageQueueEvaluator: deterministic sorting by Priority desc, DaysUntilStale asc, CVE asc, Purl asc",
|
||||
"TriageQueueEvaluator.CalculateDaysUntilStale: formula using half-life and staleness threshold; negative = already stale",
|
||||
"TriageQueueEvaluator: recommended action per priority level with missing signal information",
|
||||
"OpenTelemetry metrics: stellaops_determinization_decay_multiplier, stellaops_triage_items_evaluated_total, stellaops_triage_items_queued_total, stellaops_triage_reanalysis_enqueued_total, stellaops_triage_cycle_duration_seconds",
|
||||
"InMemoryTriageReanalysisSink: enqueue, dequeue, peekAll for testing",
|
||||
"UnknownRanker decay: configurable decay buckets (7d/30d/90d/180d/365d/max) with basis-point multipliers"
|
||||
],
|
||||
"assertionTypes": [
|
||||
"equality",
|
||||
"boolean",
|
||||
"approximation",
|
||||
"range-bound",
|
||||
"collection-ordering",
|
||||
"determinism",
|
||||
"FsCheck-property"
|
||||
],
|
||||
"newTestsWritten": [],
|
||||
"bugsFixed": [],
|
||||
"rawOutput": "Determinization.Tests: Passed! - Failed: 0, Passed: 438, Skipped: 0, Total: 438, Duration: 1s 181ms. Unknowns.Tests: Passed! - Failed: 0, Passed: 59, Skipped: 0, Total: 59, Duration: 533ms. Source files verified: DecayedConfidenceCalculator.cs (76 lines, exp(-ln(2)*age/halfLife) + histogram metric), ObservationDecay.cs (123 lines, per-observation decay with CheckIsStale), TriageQueueEvaluator.cs (228 lines, priority classification + deterministic sorting + DaysUntilStale formula), UnknownTriageQueueService.cs (139 lines, cycle-based re-analysis triggering with ITriageReanalysisSink), InMemoryTriageReanalysisSink.cs, TriageModels.cs, UnknownRanker.cs (369 lines, decay buckets with basis-point multipliers). Feature notes: DecayedConfidenceCalculator and ObservationDecay are fully implemented. TriageQueueEvaluator and UnknownTriageQueueService provide automated triage. What's Missing items (triage queue UI, real containment data sources, decay notification, historical decay ledger) are future enhancements not blocking core decay+triage functionality.",
|
||||
"verdict": "pass"
|
||||
}
|
||||
Reference in New Issue
Block a user