I’m building a CI/CD Diagnosis Agent that needs to reason under uncertainty.

beginner help😓

The basic idea is:

A CI pipeline fails → the actual root cause is hidden → the agent observes the available evidence → assigns probabilities to possible causes → chooses the next diagnostic action → receives new evidence → updates its beliefs → eventually diagnoses the failure.

For example, if a build fails, possible hidden causes might include:

  • Code regression
  • Dependency/version conflict
  • Environment/runner problem
  • Flaky test
  • Configuration/secrets issue
  • Database migration problem
  • Infrastructure/network failure
  • Resource exhaustion
  • Build/cache issue
  • Test/data issue

The agent could potentially take actions such as:

  • Inspect the recent code changes
  • Check dependency changes
  • Check the CI environment
  • Retry the failed test
  • Run unit tests
  • Run integration tests
  • Inspect previous runs
  • Compare with a known-good commit
  • Check logs from another stage
  • Escalate to a human

I’m particularly interested in how this should be modeled as a decision-making problem.

For example, if the initial evidence is:

What should the agent's belief distribution look like?

Should it consider something like:

Dependency issue: 70%
Environment issue: 15%
Code issue: 10%
Configuration issue: 5%

And then choose the next action based on both probability and diagnostic cost/information value?

I'd love to hear from CI/CD engineers:

  1. What are the most common failure scenarios you've encountered?
  2. What hidden root causes would you include in a simulation?
  3. What evidence is actually useful for distinguishing between them?
  4. What diagnostic actions would you take first?
  5. Are there cases where the obvious error message is misleading?

I'm trying to build the evaluation environment around realistic failure modes rather than inventing arbitrary examples, so real-world experiences would be extremely valuable.

Posted Aug 30, 2026, 12:08 PM UTC

31
Loading comments…