fix(bus): check-stale-blockers re-flags a resolved stat-source PR citation forever - #150
Open
asachs01 wants to merge 1 commit into
Open
fix(bus): check-stale-blockers re-flags a resolved stat-source PR citation forever#150asachs01 wants to merge 1 commit into
asachs01 wants to merge 1 commit into
Conversation
…for stat-source citations
A real, correctly-cited PR can still be a false positive if it's cited as
the source of a supporting fact ("documented in-code by PR #NN as 13
verified against prod") rather than as the fix for the blocker. Distinct
shape from precedent-citation (that class isn't naming a blocker at all).
Bit the same task twice, two days apart (task_1786902033624, 2026-08-20
then 2026-08-22), both times resolved manually by the same peer -- the
tool has no memory of a prior resolution, so it re-litigates indefinitely.
Reuses the existing exclude-list mechanism (PRECEDENT_CITATION_CUE_REGEX,
2026-08-12) rather than new persisted state -- same failure shape, same
fix technique.
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 free
to 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
check-stale-blockersflagged the same false positive on the same task twice, two days apart(
task_1786902033624, 2026-08-20 then 2026-08-22) — a real, correctly-cited PR (conduit#1424)cited as the source of a supporting statistic ("documented in-code by conduit PR #1424 as 13
verified against prod"), not as the fix for the task's blocker. Both times a peer had to manually
re-trace and correct it, because the tool has no memory of a prior resolution.
This is a different shape from the existing precedent-citation false-positive class (2026-08-12,
PRECEDENT_CITATION_CUE_REGEX) — that class isn't naming a blocker at all ("same shape as theaction1 precedent, PR grandamenium#306"). This one names a real, relevant PR, just not as the fix.
Fix
Widens the existing exclude-list mechanism with a second cue category (
documented ... by,verified against,sourced from,per PR #NN's own data/finding/...) rather than adding newpersisted state (no resolved-citations file to keep in sync). Reuses the exact regex-window
technique already proven in production for the precedent-citation class.
Known limitation, found and documented rather than silently fixed
Writing the "mixed citation" regression test surfaced a pre-existing architecture gap: a cue
phrase sitting in the textual GAP between two close PR references can leak into the next
reference's before-window, because the existing prev-match-end clamp only protects against
reaching before/into the previous match's own span, not the prose after it. Not fixed here (out
of scope for this diff) — documented in the test file as a known limitation for follow-up if a
real case is ever reported. Scoped test uses well-separated sentences to avoid it.
Verification
git worktree.tests/unit/bus/system.test.ts), including 3 newcases for the real incident text, a mixed-citation case, and two more cue phrasings.
tests/unit/bus/+tests/integration/: 857 passed, 3 failed — all 3 arephase5-performance.test.tscron-startup timing thresholds, already documented in this repo'sown CLAUDE.md as environment-flaky under load, unrelated to this change (confirmed: no code
touched here is anywhere near cron-startup timing).
npm run buildsucceeds.Not merging/self-approving
Opened for review per normal process.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is enabled.