Skip to content

docs(backlog): items 232-239 declared no status, turning main red - #82

Merged
wshallwshall merged 1 commit into
mainfrom
backlog-status-banners
Jul 30, 2026
Merged

docs(backlog): items 232-239 declared no status, turning main red#82
wshallwshall merged 1 commit into
mainfrom
backlog-status-banners

Conversation

@wshallwshall

Copy link
Copy Markdown
Collaborator

What broke

PR #80 appended eight Steps-view items (#232–#239) to docs/BACKLOG.md without the status banner every numbered item must carry. tests/test_backlog_status_check.py::test_the_real_backlog_satisfies_the_invariant has been failing on main itself ever since — 8 errors, first at line 6905:

BACKLOG.md:6905: item #232 declares no status. Add exactly one leading banner:
'> ✅ **SHIPPED …**', '> ⛔ **DECLINED …**', '> 🪦 **RETIRED …**',
'> 🔢 **Re-scored …**', or '> 🚧 **Status …**'.

Because GitHub tests each PR merged into main, every open PR inherited it and failed the three required test contexts (ubuntu-latest, windows-2022, windows-2025 @ py3.14):

PR State
#81 BLOCKED auto-merge armed, could never fire
#74 BLOCKED auto-merge armed, could never fire
#71 BEHIND auto-merge armed
#66 BEHIND
#60 BEHIND

Worth noting the loop this created: #74 is the fix for "prune-merged removed a worktree a live session was working in", and there are currently several live worktree sessions. The red main was blocking the fix for a bug that can delete a live session's worktree.

The fix

Exactly one leading banner per item, nothing else. Seven use the open/prioritized form (🔢), matching the existing **Filed 2026-07-11.** precedent in this file.

#239 uses the partial form (🚧) instead, because that is what is true: the scan ran (388 files · 145 handlers · 1,423 rows · 0 refusals; editable share 42.0%) and the result is recorded on PR #81, but scripts/quality/lens_coverage.py is still unmerged — so the number is not yet reproducible from main. Marking it would be the exact "doc that lies about build state" this gate exists to prevent.

What this deliberately does not do

The banners do not re-litigate any item's verdict. #234 is left explicitly unsettled rather than entrenched — it was filed as "revisit — do not treat as a bug" after the owner asked for the fix to be put on the backlog, and that framing is still an open question for the owner, not something a CI-unblocking PR should quietly ratify.

Verification

$ python scripts/docs/backlog_status_check.py
OK — 237 backlog items, each declaring exactly one status.

$ python -m pytest tests/test_backlog_status_check.py -q
15 passed in 0.27s      # was 14 passed, 1 failed

Docs-only; +16/−0 in one file.

🤖 Generated with Claude Code

PR #80 appended eight Steps-view items to docs/BACKLOG.md without the
status banner every numbered item must carry, so
tests/test_backlog_status_check.py::test_the_real_backlog_satisfies_the_invariant
began failing on main itself (8 errors, first at line 6905). Because
GitHub tests each PR merged into main, every open PR inherited the
failure: #81, #74, #71, #66 and #60 were all blocked, three of them with
auto-merge armed and unable to fire.

Adds exactly one leading banner per item. Seven use the open/prioritized
form; #239 uses the partial form, because its measurement ran and is
recorded on PR #81 while the re-runnable scripts/quality/lens_coverage.py
is still unmerged -- the number is not yet reproducible from main.

The banners are deliberately minimal and do not re-litigate any item's
verdict. #234 in particular is left explicitly unsettled rather than
entrenched: it was filed as "revisit, not a bug" after the owner asked
for a fix, and that framing is still open.

Verified: scripts/docs/backlog_status_check.py exits 0 (237 items) and
tests/test_backlog_status_check.py is 15 passed, was 14 passed 1 failed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@wshallwshall
wshallwshall merged commit c786577 into main Jul 30, 2026
31 checks passed
@wshallwshall
wshallwshall deleted the backlog-status-banners branch July 30, 2026 20:55
Sign up for free to 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.

1 participant