Skip to main content
The Decision Engine is the central component that determines when and how the AIOps platform should act autonomously. It combines calculated confidence, historical patterns, root cause enrichment, and convergence detection to make safe decisions in production.
The Decision Engine never acts blindly. Every decision goes through a pipeline of confidence adjustments, circuit breaker checks, and pattern validation before any action is executed.

Architecture Overview

Base Confidence (AIInsight)

The entire process starts with the confidence field of the AIInsight CR, which is generated by the LLM provider during root cause analysis. This value represents the AI’s certainty about the diagnosis and suggested actions.

High Confidence

0.90 - 1.00 β€” The AI identified the problem with high precision. Well-known scenarios like OOMKilled, CrashLoopBackOff with invalid image.

Medium Confidence

0.70 - 0.89 β€” Probable diagnosis but with uncertainty. Performance issues, resource pressure, intermittent dependencies.

Low Confidence

0.50 - 0.69 β€” The AI does not have sufficient certainty. Complex problems with multiple possible causes.

Very Low Confidence

< 0.50 β€” Unknown scenario or insufficient data. Always requires human intervention.

Confidence Adjustment Factors

The base confidence is never used directly. It goes through 5 adjustment factors that refine it based on the current operational context.

1. Historical Success Rate

1

Query the Pattern Store

The engine calculates the success rate of previous remediations for the same signal type (signalType).
2

Apply the adjustment

  • High success rate (>80%): adjustment of +0.10
  • Low success rate (<40%): adjustment of -0.10
  • No history: no adjustment (0.00)

2. Pattern Match

When the Pattern Store finds a previously resolved pattern that matches the current incident, confidence receives a significant boost.
Pattern Match is the most powerful factor. An identical incident resolved previously can raise confidence enough to allow auto-remediation even in scenarios that would normally require approval.

3. Time of Day

Automatic actions outside business hours carry additional risk because fewer engineers are available to intervene if something goes wrong.

4. Simultaneous Active Issues

When the cluster is under pressure with multiple active incidents, the engine becomes more conservative to avoid chain actions that could worsen the situation.
With 10 or more simultaneous active issues, the cumulative adjustment (-0.14 or more) makes it practically impossible to reach the auto-remediation threshold, forcing human review β€” exactly the desired behavior during a cascade incident.

5. Incident Severity

The Issue CR severity applies a fixed modifier reflecting the inherent operational risk.

Practical Calculation Example

Incident data:
  • Base AIInsight confidence: 0.88
  • Severity: high
  • Time: 14:30 (business hours)
  • Active issues: 2
  • Pattern Store: pattern found (successful rollback 5 days ago)
  • Historical success rate: 90%
Calculation:
Decision: Confidence 1.00 + severity high = Requires approval (threshold >=0.80 + high).Even with maximum confidence, high incidents always require human approval.
Incident data:
  • Base AIInsight confidence: 0.92
  • Severity: low
  • Time: 02:15 (outside business hours)
  • Active issues: 1
  • Pattern Store: pattern found (successful memory adjustment)
  • Historical success rate: 95%
Calculation:
Decision: Confidence 1.00 + severity low = Auto-remediation (threshold >=0.95 + low).
Incident data:
  • Base AIInsight confidence: 0.65
  • Severity: critical
  • Time: 10:00 (business hours)
  • Active issues: 8
  • Pattern Store: no matching pattern
  • Historical success rate: 30%
Calculation:
Decision: Confidence 0.35 + severity critical = Manual only (<0.70 or critical).

Decision Thresholds

The combination of final confidence and severity determines the allowed level of autonomy.
Requirements: Confidence >= 0.95 and severity lowThe platform executes remediation automatically without any human intervention. The RemediationPlan is created and executed immediately.

Circuit Breaker

The circuit breaker is a safety mechanism that blocks all auto-remediations when it detects consecutive failures, preventing the platform from causing cascading damage.
1

Failure Monitoring

Each remediation failure is recorded with a timestamp. The circuit breaker maintains a sliding window of 1 hour.
2

Circuit Breaker Trigger

When 3 or more failures occur within the 1-hour window, the circuit breaker opens and blocks all auto-remediation in the namespace.
3

Open State

While open, all RemediationPlan CRs are created with requiresApproval: true, regardless of the calculated confidence.
4

Reset

The circuit breaker closes automatically after the cooldown period or when an operator performs a manual reset via annotation.
When the circuit breaker is open, the annotation platform.chatcli.io/circuit-breaker: open is added to the namespace. This is visible via kubectl get ns &lt;namespace&gt; -o yaml for quick diagnosis.

Pattern Store

The Pattern Store is the platform’s pattern learning system. It allows AIOps to β€œremember” past incidents and use that memory to make more informed decisions.

SHA256 Fingerprinting

Each pattern is identified by a unique fingerprint calculated as:
Fingerprint examples:

ConfigMap Storage

Patterns are persisted in a dedicated ConfigMap in the operator namespace:

RecordResolution and RecordFailure

Confidence Boost Calculation

The confidence boost derived from the Pattern Store is calculated directly from the success rate:

Scenario: Recent Similar Incident

When the Pattern Store finds a match, the engine adds context to the AIInsight and the RemediationPlan:
This information is displayed in the Issue CR so operators can quickly see that the problem has been resolved before and how.

Root Cause Analysis (RCA) Enrichment

Before making any decision, the engine enriches the incident context with additional cluster data. This enrichment feeds both the LLM (for better diagnosis) and the decision engine (for more precise adjustments).

DeploymentChange Detection

The engine checks if there was a recent deploy change by comparing ReplicaSet revisions:
Enrichment result:

ConfigChange Detection

The engine searches for Kubernetes events related to ConfigMap and Secret updates:
Lists active issues in the same namespace that may be correlated:

Dependency Status

Checks the health of Services and Endpoints that the affected resource depends on:

Time Correlation

The engine calculates the temporal correlation between detected changes and the incident start:
Strong temporal correlation (< 5 min) automatically elevates the cause to the top of the PossibleCauses list, as the probability of a causal relationship is high.

PossibleCauses Ranking

All possible causes are ranked by probability based on the enrichment data:

Convergence Detector

The Convergence Detector is designed for the agentic remediation loop. It monitors the agent’s observations to determine if the situation is improving, stagnating, or worsening.

IsConverged

Checks if the last 3 observations are identical, indicating that the system has reached a stable state (for better or worse).

IsOscillating

Detects A-B-A-B oscillation patterns where the system alternates between two states without real progress.
Oscillation is a strong signal that the remediation action is creating the problem it is trying to solve. When detected, the agentic loop is interrupted immediately and the incident is escalated for human intervention.

ShouldStop

Main function that combines all agentic loop stop criteria:

EstimateProgress

Estimates agentic loop progress from 0.0 to 1.0, used for visual feedback and logging:

Complete Decision Flow

Decision Engine Metrics

The engine exposes Prometheus metrics for observability:

Next Steps

Multi-Cluster Federation

See how the decision engine operates in multi-cluster environments with policies per tier.

Chaos Engineering

Validate engine decisions with controlled chaos experiments.

Audit and Compliance

Every decision generates an immutable AuditEvent for traceability.

AIOps Platform

Return to the complete AIOps platform overview.