From 358f4f0271106c598bb8e82defa08ea8564ff0b2 Mon Sep 17 00:00:00 2001 From: Vasilev Dmitrii Date: Thu, 20 Aug 2026 05:21:30 +0700 Subject: [PATCH 1/2] fix(ci): auto-merge-ready-prs.yml has not parsed since 2026-07-07 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 7644b30d, 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. --- .github/workflows/auto-merge-ready-prs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-merge-ready-prs.yml b/.github/workflows/auto-merge-ready-prs.yml index 85936ffadf..65a8e3f7fa 100644 --- a/.github/workflows/auto-merge-ready-prs.yml +++ b/.github/workflows/auto-merge-ready-prs.yml @@ -59,7 +59,7 @@ jobs: TITLE=$(echo "$PR_METADATA" | jq -r '.title // empty') BODY=$(echo "$PR_METADATA" | jq -r '.body // empty') if ! echo "$TITLE -$BODY" | grep -qiE "$L1_RE"; then + $BODY" | grep -qiE "$L1_RE"; then echo " Skipped: missing L1 TRACEABILITY issue reference" SKIPPED=$((SKIPPED + 1)) continue From 0bd15865041764ed1ee3e32565abbc6ca1c30769 Mon Sep 17 00:00:00 2001 From: Vasilev Dmitrii Date: Thu, 20 Aug 2026 05:21:54 +0700 Subject: [PATCH 2/2] docs(now): record the auto-merge parse fix Closes #2245 --- docs/NOW.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/docs/NOW.md b/docs/NOW.md index d31f855864..985d2e5cc1 100644 --- a/docs/NOW.md +++ b/docs/NOW.md @@ -1,3 +1,40 @@ +# NOW -- auto-merge-ready-prs.yml has not parsed since 2026-07-07 (2026-08-20) + +Last updated: 2026-08-20 + +## What landed (Closes #2245) + +One under-indented line stopped `.github/workflows/auto-merge-ready-prs.yml` +parsing at commit `7644b30d` (2026-07-07). GitHub reports "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 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. + +Consequence: this repository has had **no working auto-merge for six weeks**, +which is why ready PRs accumulated to 29. + +## Honesty limits (BINDING) + +- **Whitespace only.** The 10 spaces added are exactly the scalar indent and + are stripped by YAML -- the shell receives byte-identical text. Stripping + all whitespace makes the two files byte-equal. +- **No merge condition changes.** L1 regex, approved-review gate, + failing-check gate, NotebookLM exclusion, `--merge --delete-branch` and both + `dry_run` branches are untouched. +- Verified with two independent parsers (PyYAML 6.0.3 and Ruby Psych/libyaml, + both failing the original at 62:1) plus `bash -n`. `actionlint` is + unavailable on that host, so this is not a GitHub schema check. +- **17 branches carry the same bug class elsewhere** (a shell `else` + under-indented out of its block at line 78). Not fixed here. +- **274 branches carry the broken blob**, so a merge from one re-introduces + it. This fix must win the merge or be re-applied. +- 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, so it was not used. + # NOW -- sby runs from where its files are (2026-08-20) Last updated: 2026-08-20