The loop read the latest completed Actions run with per_page=1 and an
empty default workflow scope, so the conclusion flickered: on RoboCo's
8-workflow repo a green run from an unrelated workflow (or a green run on
an older commit) masked a red ci.yml run, and a single transient GitHub
error silently skipped the whole cycle — so self-heal sometimes fired on
a real regression and sometimes did not.
- Default self_heal_ci_workflow to "ci.yml" so the signal is scoped to
the gate workflow, not "latest run across all workflows".
- Fetch a window of recent completed runs and resolve the conclusion
against the branch's current HEAD (newest commit's latest attempt), so
a stale/unrelated green run can't mask the HEAD failure and a green
re-run supersedes the original failure.
- Retry transient network / 429 / 5xx errors within the cycle instead of
treating one blip as "all green".