.github/workflows/auto-merge-ready-prs.yml on master fails on every trigger and has done since commit 7644b30d (2026-07-07, "fix(igla): harden auto-merge and brain-seal-refresh workflows").
GitHub says it plainly: "This run likely failed because of a workflow file issue." Zero jobs, run_started_at == updated_at to the second.
Defect — line 62, column 1. The step's script is a literal block scalar opened by run: | at line 31; its content indent is fixed at 10 spaces by the first non-empty line. Line 62 has 0 spaces, so the scalar terminates at line 61 and the parser reads $BODY" | grep -qiE "$L1_RE"; then as a top-level YAML node. YAML spec §8.1.1.
Two independent parsers agree — PyYAML 6.0.3 and Ruby Psych/libyaml both fail the original at 62:1 and both parse the fix.
Fix: 10 spaces, one line, whitespace only. Those 10 spaces are exactly the block scalar's indent, so YAML strips them — the shell receives byte-identical text. Confirmed at the extracted-shell level: the characters between $TITLE and $BODY in the parsed run: string are a bare \n, nothing else. "".join(orig.split()) == "".join(fixed.split()) is True.
No merge condition changes. The L1 regex, the approved-review gate, the failing-check gate, the NotebookLM exclusion, --merge --delete-branch and both dry_run branches are untouched.
Consequence: the repository has had no working auto-merge for six weeks, which is why ready PRs accumulate.
Two things not fixed here. 17 branches carry a different copy with the same class of bug (a shell else under-indented out of its block at line 78). And 274 branches carry master's broken blob, so any PR merged from one propagates it — this fix must win the merge or be re-applied.
Not used as the fix: 139 branches (including main) have a copy that parses, but it is the older pre-hardening version lacking the L1 and approved-review gates entirely. Restoring it would weaken the merge conditions.
.github/workflows/auto-merge-ready-prs.ymlonmasterfails on every trigger and has done since commit7644b30d(2026-07-07, "fix(igla): harden auto-merge and brain-seal-refresh workflows").GitHub says it plainly: "This run likely failed because of a workflow file issue." Zero jobs,
run_started_at == updated_atto the second.Defect — line 62, column 1. The step's script is a literal block scalar opened by
run: |at line 31; its content indent is fixed at 10 spaces by the first non-empty line. Line 62 has 0 spaces, so the scalar terminates at line 61 and the parser reads$BODY" | grep -qiE "$L1_RE"; thenas a top-level YAML node. YAML spec §8.1.1.Two independent parsers agree — PyYAML 6.0.3 and Ruby Psych/libyaml both fail the original at 62:1 and both parse the fix.
Fix: 10 spaces, one line, whitespace only. Those 10 spaces are exactly the block scalar's indent, so YAML strips them — the shell receives byte-identical text. Confirmed at the extracted-shell level: the characters between
$TITLEand$BODYin the parsedrun:string are a bare\n, nothing else."".join(orig.split()) == "".join(fixed.split())isTrue.No merge condition changes. The L1 regex, the approved-review gate, the failing-check gate, the NotebookLM exclusion,
--merge --delete-branchand bothdry_runbranches are untouched.Consequence: the repository has had no working auto-merge for six weeks, which is why ready PRs accumulate.
Two things not fixed here. 17 branches carry a different copy with the same class of bug (a shell
elseunder-indented out of its block at line 78). And 274 branches carry master's broken blob, so any PR merged from one propagates it — this fix must win the merge or be re-applied.Not used as the fix: 139 branches (including
main) have a copy that parses, but it is the older pre-hardening version lacking the L1 and approved-review gates entirely. Restoring it would weaken the merge conditions.