Commit c223028
tooling(pm): sweep the pm-loop state labels off cards closed on a merged delivery (#16021)
* tooling(pm): mechanize the closed-card residue strip as a patrol step
A card GitHub closes on a merged `Fixes` pull request keeps every label,
so the pm-loop state labels stay behind as claims that work is in flight.
The seat has been removing them by hand, once per landing.
`scripts/pm/sweep-closed-cards.mjs` takes that stroke: it lists the closed
cards carrying H22's residue set (imported, never restated), establishes
that the close really was a merged delivery by one of two routes -- a
closing commit contained in the default branch, or a pull request whose
body closes the card and merged into it -- and removes exactly the residue
labels, leaving ownership, priority and outcome untouched. Each stripped
card gets one comment naming the readings taken.
The action set is bounded to the fresh edge by a window, because the
2026-08-31 maintainer ruling refused a backfill over the archived stock
while keeping close-time hygiene as the convention. `--all-time` exists so
a seat can measure that stock in a dry run; the workflow never passes it.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox
* tooling(pm): run the sweep's own self-test before it writes, and refuse unknown flags
`check-self-test-wired` is the gate that settles where the self-test belongs:
CI runs this script, so CI must run its cases. The patrol step now runs them
first and skips the sweep entirely if they fail -- this step writes to other
people's cards, and a broken predicate that still runs is the one failure the
next run cannot undo.
The CLI gains `--dry-run` as a real flag so the workflow can name the mode it
is in, and refuses any argument it does not know: a caller who believes it
passed a mode flag and did not must not get a run that looks ordinary.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 7845951 commit c223028
3 files changed
Lines changed: 1368 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
149 | 149 | | |
150 | 150 | | |
151 | 151 | | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
152 | 156 | | |
153 | 157 | | |
154 | 158 | | |
| |||
248 | 252 | | |
249 | 253 | | |
250 | 254 | | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
251 | 345 | | |
252 | 346 | | |
253 | 347 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| 78 | + | |
78 | 79 | | |
79 | 80 | | |
80 | 81 | | |
| |||
0 commit comments