Skip to content

docs(kanban): the header names a Status option the board does not have - #362

Merged
LukasWodka merged 1 commit into
developfrom
docs/set-pr-status-stale-status-name
Aug 27, 2026
Merged

docs(kanban): the header names a Status option the board does not have#362
LukasWodka merged 1 commit into
developfrom
docs/set-pr-status-stale-status-name

Conversation

@LukasWodka

@LukasWodkaLukasWodka commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Comment-only fix in .github/workflows/set-pr-status.yml. No workflow logic touched, no behaviour change.

The drift

 # Moves the PR's card to the right Status:
# - draft PR → In progress
-# - non-draft → In review+# - non-draft → Code review

In review was renamed to Code review in #20 (7dbaabf). Derived rather than assumed — I read the live Status field's options before editing:

Backlog · North Stars · Ready · In progress · Code review · On dev
Staging (agent review) · FR on staging · Ready for prod · Prod · Done · Cancelled

In review is not among them. Code review is.

The file disagreed with itself

The code has been right the whole time — :108 writes status_name=Code review — and the same header already says "the SAME event that puts a card in Code review" thirty lines below the stale line. So the only wrong statement was the one a reader meets first, which is the half that matters: a header is what someone skims before trusting the job.

Sweep

Checked the whole repo for the same phrasing. This was the only board-column reference. Two other matches are deliberately left alone, because they do not name a column:

locationwhy it stays
repo-inventory.yml:635"WHILE this PR was in review" — review as an activity, correct English
scripts/tests/standards-sync-selftest.py:428sync.SYNC_REVIEWER in reviewer_edit[0] — a Python in operator, not the phrase

Checks

make check 95 passed, 0 failed
29 passed, 0 failed
==> check: green (gitleaks runs in 'make check-all')
EXIT=0

One observation, not fixed here

The repo has a Written Status names exist… check that validates the Status names the workflows write. It would not have caught this, because the stale name was in a comment. That is the gap that let a renamed column sit in the header for the whole life of the rename — worth knowing, but building a comment-scanning guard is a bigger change than this PR should carry, and I did not want to smuggle it in behind a docs fix.

No ticket filed: the drift is one line and now gone, so a ticket would outlive the fix. Raising it here rather than opening a card for a closed issue.


Note

Low Risk
Documentation-only change in a workflow comment; no runtime or CI behavior is affected.

Overview
Updates a comment-only line in set-pr-status.yml so the header matches the kanban Status option the workflow already writes (Code review), replacing the stale label In review after the board column rename.

No job logic, triggers, or status_name values change—only the skim-first header comment is corrected so it agrees with the code and the rest of the file.

Reviewed by Cursor Bugbot for commit c63dceb. Bugbot is set up for automated code reviews on this repo. Configure here.

set-pr-status.yml's header said the non-draft card moves to "In review". That
option was renamed "In review" -> "Code review" in #20 (7dbaabf) and no longer
exists on the board -- verified against the live Status field, whose options are
Backlog, North Stars, Ready, In progress, Code review, On dev, Staging (agent
review), FR on staging, Ready for prod, Prod, Done, Cancelled.
The code has been correct throughout: the job writes `status_name=Code review`
(:108), and the same header already says "the SAME event that puts a card in
`Code review`" thirty lines further down. So the file disagreed with itself, and
the wrong half is the part a reader meets first.
Comment-only. No workflow logic, no behaviour change.
Swept the repo for the same phrasing; this was the only board reference. Two
other matches are deliberately left alone: repo-inventory.yml:635 uses "while
this PR was in review" to mean review as an activity, which is correct English
and not a column name, and standards-sync-selftest.py:428 is a Python `in`
operator, not the phrase.
make check: 95 passed 0 failed, 29 passed 0 failed, EXIT=0.
@LukasWodkaLukasWodka self-assigned this Aug 27, 2026

@saadqbalsaadqbal left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checked rather than taken: the code writes status_name=Code review at line 108, so the header comment was the only thing still saying In review. Reading the live Status options before editing rather than trusting the rename in #20 is the right instinct for exactly this kind of fix — a comment corrected from memory can be wrong twice.

Green, one line, no behaviour. 👍

@LukasWodka
LukasWodka merged commit b36c705 into developAug 27, 2026
22 of 23 checks passed
@LukasWodka
LukasWodka deleted the docs/set-pr-status-stale-status-name branch August 27, 2026 16:10
LukasWodka added a commit that referenced this pull request Aug 28, 2026
…end#2731) (#370)
* ci(set-status): add the missing card instead of losing the race (backend#2731)
set-status and add-to-kanban fire on the same pull_request event and start
together. set-status polled 5 x 5s for the card and failed when it was not
there; add-to-kanban frequently won seconds later, so the card ended CORRECT
and the check ended RED. On .github#362 the board was already in the exact
state set-status would have written -- the job did its work and reported
failure anyway, which is the shape that teaches people to merge past red.
The old comment held the retry budget at 5 x 5s deliberately, to measure how
often the race is lost rather than guess a window. That measurement arrived
(#361 and #362, both within seconds), so this ends the race instead of
widening the window: the job already holds a token with
organization-projects: write, and addProjectV2ItemById is idempotent, so it
adds the card itself when it is absent. add-to-kanban does exactly one thing
-- an actions/add-to-project step -- so there is nothing to duplicate.
Still fail-closed: an unresolvable PR node, or an add that returns no item
id, goes red exactly as before. Only "not yet" stops reporting as "missing".
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* test(set-status): cover the card fallback, and mutate both halves (backend#2731)
Nothing covered set-pr-status.yml_s status-write block. The closing-ref suite
already owns assertions about that file, so the four new checks live there.
Scope stated in the file rather than implied: these read the workflow SOURCE,
so they cannot prove the fallback works against the real API -- and this
repo_s own caller pins @main, so the PR that lands the fix does not exercise
it either. What they catch is the regression that matters: deleting the
fallback, or softening the refusal back to a pass.
Both are registered as WORKFLOW_MUTATIONS, per that list_s own note that rule
5 does not exempt a guard for living in YAML.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for freeto 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.

2 participants

@LukasWodka@saadqbal