Uh oh!
There was an error while loading. Please reload this page.
fix(labels): from:customer stops advertising a deleted board field (backend#2743) - #367
Open
LukasWodka wants to merge 1 commit into
Open
fix(labels): from:customer stops advertising a deleted board field (backend#2743)#367LukasWodka wants to merge 1 commit into
LukasWodka wants to merge 1 commit into
Conversation
…ackend#2743) The `from:customer` label description said "auto-bumps Priority to P1" in all twenty enrolled repos. RFC-BACKEND-0008 D5 deleted the `Priority` single-select and `customer-priority-bump.yml` writes no board field at all -- it runs `gh issue edit --add-label priority`. So the label that fires the rule promised an outcome the automation stopped producing. Swept to "Filed from a customer request — automation adds the binary `priority` label" across all twenty, byte-identical, colour untouched. The repo list was DERIVED at run time from repo-inventory.yml (`callers:` declaring `customer-priority-bump.yml: required`) and the label name from that reusable's `trigger-label` input default; the sweep refused any replacement text that did not name the label the `--add-label` line actually writes, and refused the removed vocabulary outright. Measured before and after: 20 of 20 identical on the stale text, 20 of 20 identical on the new one. The ticket says 21 repos. The inventory says 20 -- the 16 that already had the labels plus the 4 .github#364 created. Reported rather than reproduced. The diff itself is the note beside the write, so the two cannot drift without a reader seeing it, plus the honest statement that no check covers this yet: triage-labels-check.py (.github#364) asserts a label EXISTS, not that its description still describes the step, which is how the stale text survived D5. That extension is backend#2744, on top of #364 rather than beside it -- the file is not on develop yet, so extending it here would duplicate an open PR's file or stack on it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
LukasWodka
requested review from
saadqbal and saqlainsyed007
and removed request for
saadqbalAugust 27, 2026 19:13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The
from:customerlabel's description advertised "auto-bumps Priority to P1". RFC-BACKEND-0008 D5 deleted thePrioritysingle-select from board project 2 and replaced it with the binaryprioritylabel;customer-priority-bump.ymlwrites no board field at all — its one write isgh issue edit --add-label priority. The label that triggers the rule was promising an outcome the automation stopped producing, in every repo that runs it.The fix is a label sweep, already applied (labels are repo settings, not files): all twenty enrolled repos now carry, byte-identical and with the colour untouched:
The diff in this PR is the note beside the write it describes, plus the honest statement of what is still not checked.
How the repo list was derived — never typed
repo-inventory.yml, filtered to repos whosecallers:declarecustomer-priority-bump.yml: required— the same authoritycaller-drift.pyandtriage-labels-check.pyuse. The label name came from the reusable's owntrigger-labelinput default, and the label the automation writes from the--add-labelitsrun:block executes. The sweep then refused, before touching anything:does not name the label(s) the workflow writes ['priority'], with the mutation anchor confirmed applied);Priority to/P1/board field;--add-labelwrites.Fail closed on the sweep too: a repo whose labels could not be read or edited exits 3 as UNKNOWN, never as compliant. None did — 20 of 20 read and 20 of 20 edited.
Before / after, measured
from:customerFiled from a customer request — auto-bumps Priority to P1Filed from a customer request — automation adds the binary \priority` label`#FF6B35on all 20#FF6B35on all 20, unchangedUniformly wrong before, uniformly right after — the good case the ticket predicted, and no repo had drifted off the shared text, so nothing was flattened.
One correction to the ticket: it is 20 repos, not 21. The inventory declares 20 enrolled and exempts none — the 16 that already had the labels plus the 4
.github#364created.triage-labels-check.py's own docstring says the same ("TWENTY repos"). Reported rather than reproduced, which is the whole reason the list is derived at run time.The description check is deferred to backend#2744 — with a reason
The check the ticket asks about,
scripts/triage-labels-check.py, is not ondevelop. It lives on PR .github#364, still open — an 8-file change that also addstriage-labels.yml, a selftest and a mutation suite. Extending it from a branch offdevelopmeans either duplicating the file (a guaranteed conflict with an open PR) or stacking on that PR, which org standards forbid. Nothing in this PR touches a file .github#364 touches other thancustomer-priority-bump.yml, and there in a different hunk — therun:step, not the header block #364 rewrites.So the split is: this PR fixes the lie people actually read, and backend#2744 arms the machine check on top of #364, where the check and its single declared source can land together. #2744 also carries the design question worth deciding rather than guessing: where the declaration lives (
repo-inventory.yml, whose top-level keyscaller-drift.pyvalidates, versus aworkflow_callinput nothing consumes), and the derived assertion that matters most — the trigger label's description must name the label the reusable writes, which is the assertion that would have reddened at D5 instead of waiting for a human.Arm while green is satisfied in the right order: the labels were swept first, so all twenty agree byte-for-byte today and #2744 can land green.
Also found, not fixed here
.github/ISSUE_TEMPLATE/feature.ymlstill asks for aP1 — High / P2 — Normal / P3 — Nice-to-havepriority dropdown — the same D5-removed vocabulary, in a second place. It drops no label and blocks no automation (the answer lands in the issue body as prose), so it is a separate call about what the templates should ask for, not part of this sweep. Flagging it rather than widening the diff.Test plan
make check— green (ruff, shellcheck, house-rules 0 findings, actionlint 0 findings, every selftest and every--drymutation anchor). Output in the session log.run:block, andactionlint -shellcheckpasses over it.Closes tracebloc/backend#2743
Note
Low Risk
Comment-only change in CI workflow; label metadata was updated separately with no automation path modified.
Overview
Aligns human-facing label text with what
customer-priority-bumpactually does after RFC D5 removed the board Priority field and the workflow only runsgh issue edit --add-label priority.The repo label fix is already live (not in this diff): all twenty enrolled repos now describe
from:customeras automation adding the binaryprioritylabel, replacing the stale “auto-bumps Priority to P1” copy that survived because labels were cloned repo-wide.This PR only adds workflow comments beside that
gh issue editstep—history of the wrong description, the 2026-08-27 sweep, and thattriage-labels-check.pystill checks label existence, not description text (planned in backend#2744 on top of .github#364). No workflow logic oractionlintbehavior changes.Reviewed by Cursor Bugbot for commit b13cef3. Bugbot is set up for automated code reviews on this repo. Configure here.