Skip to content

feat: CI failure auto-diagnosis for evolution PRs (Closes #577)#600

Closed
Da-Mikey wants to merge 1 commit into
Lexus2016:mainfrom
Da-Mikey:evolution/issue-577-ci-diagnosis
Closed

feat: CI failure auto-diagnosis for evolution PRs (Closes #577)#600
Da-Mikey wants to merge 1 commit into
Lexus2016:mainfrom
Da-Mikey:evolution/issue-577-ci-diagnosis

Conversation

@Da-Mikey

Copy link
Copy Markdown
Contributor

Automated evolution PR for issue #577. Adds evolution_ci_diagnosis.py — polls open PRs on the Da-Mikey fork, fetches failing CI logs, extracts error classes, and either auto-fixes trivial failures (lint, unused imports, trailing whitespace) or creates focused child issues for complex failures. Runs on a 30-minute cron schedule.

Polls open PRs on the Da-Mikey fork, fetches failing CI logs,
extracts error classes, and either auto-fixes trivial failures
(lint, unused imports) or creates focused child issues for
complex failures. Runs on a 30-minute cron schedule.

Co-Authored-By: Hermes Evolution <evolution@hermes.ai>
@Lexus2016

Copy link
Copy Markdown
Owner

Integration review: blocked from merge. The implementation uses "gh pr view --json recentCheckRuns", but the installed gh CLI (and the version available in the cron environment) does not expose a "recentCheckRuns" JSON field, so the script cannot retrieve CI status and will silently do nothing. This is a category error: the mechanism cannot deliver the issue's goal (auto-diagnose failing CI) as written.

Rework brief:

  • Replace fetch_latest_ci_run() and fetch_failing_log() with supported gh/REST approaches: parse "gh pr checks --repo " output, or call the GitHub REST API "repos///commits//check-runs" / "repos///actions/runs".
  • Add a test that exercises the CI-status fetch with a mock runner returning realistic check-run JSON, proving the function actually extracts a failure.
  • Verify in the PR description the exact gh version/fields the code relies on.

Re-open a PR once the script can reliably detect a failed CI run for a real open PR.

@Lexus2016 Lexus2016 closed this Jun 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants