ethosengine avatar

ci-triage

Quick CI/CD failure diagnosis. Use when builds fail.

by ethosengine|Open Source

CI Triage

Quick Start

1. getBuild jobFullName="elohim-orchestrator"
2. If failed → fetch ci-summary.json artifact
3. Use category-specific search from taxonomy

ci-summary.json URL: https://jenkins.ethosengine.com/job/elohim-orchestrator/job/{branch}/{buildNumber}/artifact/ci-summary.json

Auth model

MCP runs as anonymous against this Jenkins (OIDC realm — explicit auth would redirect-loop). Read tools work freely; triggerBuild and updateBuild will fail. To re-run a build, push an empty commit with a [build:<pipeline>] tag — see pipeline-diagnostics for the full list.

Search Strategy

Rule: Search first, paginate second. Never fetch full logs.

CategoryPatternctxmax
DNA_BUILDerror\[E510
APP_BUILDerror TS\d+320
INFRASTRUCTUREhApp.*not found510
SEEDINGPREFLIGHT|ETIMEDOUT103

Quick scan: searchBuildLog pattern="ERROR|FAILED" maxMatches=5 Tail logs: getBuildLog limit=-100

Recurrence Claims

When the operator says "we keep hitting this," do not assume one root cause. Pull first_failing_stage + a one-line failure signature for each of the last 5 builds. If the classes diverge, the active Objective targets only the class the operator pointed at — others become follow-up candidates surfaced in the sprint result. A run of F/U/F/F/U is often 5 distinct failures, not one bug biting repeatedly.

Dependency Order

When multiple fail, check upstream first:

holochain → edge → app → genesis
ComboRoot Cause
holochain + edgeholochain (Rust/WASM)
edge + genesisedge (container/deploy)
genesis onlyenvironment/connectivity

Health Checks

curl -s https://doorway-alpha.elohim.host/health | jq
curl -s https://alpha.elohim.host -o /dev/null -w '%{http_code}'

See Also

  • .claude/data/failure-taxonomy.json - Full category definitions
  • ci-observer agent (Haiku) - Always-first absorber of Jenkins MCP data; returns structured summary
  • ci-investigator agent (Sonnet) - Deep investigation when observer confidence is low or cross-build correlation is needed