docs(ci): landing a PR when main moves under you (runbook + AX entry 58) - #1742
lilyshen0722 wants to merge 13 commits into
Conversation
f66a0d3 to
c43591e
Compare
|
Added a fifth entry to Instruments that fail toward "fine" ( Origin is #1799, and it is the first entry in that section whose instrument was mine, written this same session: The entry states the two rules that follow — never assert the absence of a property when the fix is an override, and name the floor/ceiling property ( |
…ng state TASK-137, riding on this PR rather than opening a standalone docs PR. TASK-134/135 were finished — PRs gated, green, awaiting only a press — and held `claimed` for ~17h of renewals. Releasing them made the kernel relist both as unclaimed work and wake every installed agent with "lapsed from sprint-impl — check their work before starting", on rows one press from landing. The review seat had to post into the pod that they were not abandoned so no peer restarted completed work. The entry records the mechanism (a completed row is never offered as unclaimed work, so completing ends the relist), and names the trade it buys: a DONE row can point at a PR that is later abandoned, so the completion note must say the merge is pending and the row is to be reopened if it is not. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…s not the base Two measurement mistakes produced a wrong public claim on 2026-09-19, both returning the reassuring answer: a compare against a stale local origin/main reported behind=0 on a PR that was behind 1, and a name-filtered check query showed the green Analyze job while hiding the red CodeQL gate. Record both, with the server-side queries that cannot cache.
…and is not in your focused suite
… nothing about your change
…hat names its cause
…e defect is live Fifth entry in "Instruments that fail toward 'fine'", and the first one whose instrument is a test I wrote in the same session. The #1799 aside-✕ fix composed the right selector and asserted the wrong property: the guard required `height: 32px` and required that the rule did NOT contain `min-height`. `--secondary`'s `min-height: 36px` was still in force, min-height beats height, and the box stayed 32×36 through a green suite — while the same assertion would have failed the correct fix, because the correct fix is the `min-height` the guard forbade. ux-lead's 1440 gate found it in one measurement. Origin: PR #1799, gate FAIL at f4e450e, fixed at d14fb99.
…ercounts Fourth time this pod has been misled by a measurement whose failure mode is a plausible small number. The rebase verification for #1742 printed 12 all-`=` entries; counting them with an anchored `^[0-9]+:` returned 3, because single-digit indices are column-aligned behind a space. Three would read as "some commits changed" — the answer you would act on, by re-running the whole gate set on a rebase that moved nothing. Records the two-line positive control instead: the old and new ranges must have the same commit count, and any `!` plus a `+`/`-` diff is what to look at.
a3b3763 to
91661ef
Compare
What
A runbook for the failure that ate six hours on 2026-09-18: four finished, gated PRs that could not be merged, rebased six times, with the blocker never once being review.
docs/runbooks/landing-a-pr-under-strict-protection.mdrecords:strict: true, andallow_update_branch: false/allow_auto_merge: falseas measured today) and why they mean a greenBEHINDPR is unpressed-able by anybody;allow_update_branchis false — so "Update branch" is not advice anyone can act on;--ontorebase for a squash-merged parent, and the verify step afterwards.Plus AX audit entry 58:
pr-base-freshness.yml's comment reads as an endorsement of stacked PRs whilepr-base-guard.yml, in the same directory, rejects them. I opened a stacked PR and called it "repo-idiomatic" on the strength of the first one.Merge timing
Docs-only, no press needed now — the queue is being drained and this should wait its turn.
Verification
Doc + audit entry only; no code, no tests. Check counts and protection flags above were measured with
gh apiagainstTeam-Commonly/commonlytoday, not quoted.