Commit 0620dd9
fix: an open PR suppresses the reporter chase, which was oscillating (#640)
Parking an item that has an open PR does not settle it -- it OSCILLATES.
`park` says move the card to Backlog; the column derivation says an item with
an open PR is In Review; so the next pass reports `move_card` to put it back,
and the pass after that parks it again. Forever.
#162 did exactly this and it was watched happen: parked at 55 quiet days,
immediately reported as a mis-placed card, restored, reported as needing a park
again. That is the "same conversation every tick" failure the board work exists
to end, reappearing between two rules inside this script rather than between
the script and the maintainer.
The rule is also right on its own terms, independent of the loop. An issue with
a PR in flight is not a reporter chase whatever its `Awaiting` field says: the
work exists, and the wait that matters is the review, which the PR half of this
pass already reports. Nudging the reporter of a 46-day-stale conflicted PR asks
the wrong person about the wrong thing.
So `.pr != null` suppresses both `park` and `nudge_reporter`. The suppression
does not reach the case the rule exists for: an issue with no PR still parks at
28 quiet days, pinned by `test_the_chase_still_fires_without_a_pr`, which
passes both before and after the change.
Verified the oscillation test fails against the pre-fix script and passes
after. Live effect: 23 actions -> 22, with no `park`/`move_card` pair left to
trade #162 back and forth.
Claude-Session: https://claude.ai/code/session_012LExo6fcbup75vtc9NfoAR
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>1 parent 47d3c48 commit 0620dd9
2 files changed
Lines changed: 48 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
161 | 194 | | |
162 | 195 | | |
163 | 196 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | | - | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
97 | 111 | | |
98 | 112 | | |
99 | 113 | | |
| |||
0 commit comments