Skip to content

fix(ci): auto-merge-ready-prs.yml has not parsed since 2026-07-07 - #2256

Merged
gHashTag merged 2 commits into
masterfrom
fix/automerge-yaml-v2
Aug 19, 2026
Merged

fix(ci): auto-merge-ready-prs.yml has not parsed since 2026-07-07#2256
gHashTag merged 2 commits into
masterfrom
fix/automerge-yaml-v2

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Supersedes #2246, which went dirty on docs/NOW.md. Rebuilt on current master so it lands without a conflict.

One under-indented line has stopped this workflow parsing since 7644b30d (2026-07-07). GitHub says it plainly: "This run likely failed because of a workflow file issue" — zero jobs, run_started_at == updated_at to the second, 7+ consecutive failures.

Line 62, column 0 inside a run: | block scalar whose content indent is 10 (set by line 32). A non-empty line indented less terminates the scalar, so the parser reads the shell continuation as a top-level YAML node. YAML spec §8.1.1.

Consequence: this repository has had no working auto-merge for six weeks, which is why ready PRs accumulated to 29.

Whitespace only. The 10 spaces added are exactly the scalar's indent and are stripped by YAML — the shell receives byte-identical text. "".join(orig.split()) == "".join(fixed.split()) is True, and the characters between $TITLE and $BODY in the parsed run: string are a bare \n.

No merge condition changes: L1 regex, approved-review gate, failing-check gate, NotebookLM exclusion, --merge --delete-branch, both dry_run branches — untouched.

Verified with two independent parsers (PyYAML 6.0.3 and Ruby Psych/libyaml — both fail the original at 62:1, both parse the fix), a hand-written schema check, and bash -n on all four run: scripts. actionlint was unavailable, so this is not a GitHub schema check.

Not fixed here: 17 branches carry the same bug class elsewhere (a shell else under-indented out of its block at line 78), and 274 branches carry the broken blob, so a merge from one re-introduces it.

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. Restoring it would weaken the merge conditions.

Closes #2245

Line 62 sits at column 0 inside a run: | block scalar whose content indent is
10, set by line 32. A non-empty line indented less terminates the scalar, so
the parser reads the shell continuation as a top-level YAML node. GitHub
reports a run with zero jobs and run_started_at == updated_at.

Introduced by 7644b30, which added the L1 gate. Every run since has failed,
so this repository has had no working auto-merge for six weeks.

The 10 spaces added are exactly the scalar indent and are stripped by YAML:
the shell receives byte-identical text. Verified with two independent parsers
(PyYAML, Ruby Psych) plus bash -n. No merge condition, trigger, permission or
target is changed.
@gHashTag
gHashTag enabled auto-merge (squash) August 19, 2026 22:22
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-19 22:22:28 UTC

Summary

Status Count
Total Open PRs 25
PRs with Failing Checks 9
PRs with All Checks Green 16
READY 8
FAILING 9
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=375b2f88cc2f != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit 16a6e1e into master Aug 19, 2026
20 of 23 checks passed
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.

auto-merge-ready-prs.yml has not parsed since 2026-07-07 — one under-indented line

1 participant