From 66de51cb556ee942713a453797f7358cfb97447a Mon Sep 17 00:00:00 2001 From: don-petry <36422719+don-petry@users.noreply.github.com> Date: Tue, 22 Sep 2026 17:11:54 +0000 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20implement=20issue=20#1881=20?= =?UTF-8?q?=E2=80=94=20auto-rebase=20still=20merges=20main=20into=20every?= =?UTF-8?q?=20open=20PR=20on=20every=20push,=20though=20the=20ruleset=20no?= =?UTF-8?q?=20longer=20requires=20up-to-date=20branches=20=E2=80=94=20the?= =?UTF-8?q?=20treadmill's=20driver=20outlived=20the=20strict=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/auto_rebase_health.sh | 112 +++++++++++++++++++++++-- tests/auto_rebase_health.bats | 150 ++++++++++++++++++++++++++++++++++ 2 files changed, 255 insertions(+), 7 deletions(-) diff --git a/scripts/auto_rebase_health.sh b/scripts/auto_rebase_health.sh index 10bd69a98..5234b696b 100644 --- a/scripts/auto_rebase_health.sh +++ b/scripts/auto_rebase_health.sh @@ -28,6 +28,17 @@ # audit. Repo-scoped — fleet-wide would need a cross-repo PAT this report # does not carry. # +# 4. Base-merge necessity (#1881) — a deterministic counter that splits the open +# BEHIND queue into base merges that are genuinely REQUIRED (being behind +# blocks the PR: the ruleset requires up-to-date branches, or the PR is queued +# to merge, or it carries the explicit request label) vs SKIPPABLE no-ops. The +# required/skippable split is derived from repository configuration (the +# ruleset's `strict_required_status_checks_policy`), so if strict is re-armed +# the counter follows with no code change. `skippable` is the no-op base-merge +# volume #1881 removes at the source — the second input to #1864 AC #4 alongside +# #1865's `reviews_carried_forward`. The gate that acts on this lives in the +# central auto-rebase reusable; this report only measures it. +# # Layout (mirrors scripts/token_report.sh): # * The count_*/summarize_*/fmt_*/render_report functions are PURE — they take # JSON / scalars and write to stdout. Unit-tested in tests/auto_rebase_health.bats. @@ -56,6 +67,12 @@ SENTINEL_MARKER='