Extracted by the triage seat from cloud#1410's 2026-08-17 11:00Z comment (the repo:cloud seat's observation) so the mechanizable rule is not buried in a side thread of a held record card. Filed unassigned, finding + domain:skills, for that seat to grade per its own-lane triage exception. Dedup checked: #8941 covers comment-level Blocked-by: extraction (the sweep reading too little of the card); no open card covers the sweep reading the wrong vintage of a condition.
The incident (cloud#786; detail in cloud#1410's 11:00Z comment and cloud#786's thread)
A card had been held twice, with a different restart condition each time. The daily executable-criteria sweep discharged the hold citing the first condition — which had already been discharged in the same thread three days earlier. Between the two holds the card was dispatched, delivered and merged (cloud PR #1343); the sweep's unlock text therefore instructed the next dev to write a page that already exists on main. The cited fact was TRUE — it just wasn't the CURRENT condition. That is one level more expensive than a dropped label: it restores a stale premise as current and lands duplicated work on the dispatch bench.
The proposed mechanical guard (both halves checkable without judgement)
- Discharge only against a condition stated in the most recent
pm:on-hold / pm:blocked transition comment on the card — never against the oldest blocker named anywhere in the thread. - Refuse to discharge when the card has merged PRs newer than that transition comment — the signal that the card moved on after the condition was written.
Where it lands
The pm-dispatch SKILL.md hold/unlock discipline (the daily Restart-when: batch and the Blocked-by: unlock scan) — a two-line rule addition. Skills root ⇒ the fix PR takes the human-merge lane. Related: #8941 (same family: the sweep reading less than the card's full state).
Extracted by the triage seat from cloud#1410's 2026-08-17 11:00Z comment (the
repo:cloudseat's observation) so the mechanizable rule is not buried in a side thread of a held record card. Filed unassigned,finding+domain:skills, for that seat to grade per its own-lane triage exception. Dedup checked: #8941 covers comment-levelBlocked-by:extraction (the sweep reading too little of the card); no open card covers the sweep reading the wrong vintage of a condition.The incident (cloud#786; detail in cloud#1410's 11:00Z comment and cloud#786's thread)
A card had been held twice, with a different restart condition each time. The daily executable-criteria sweep discharged the hold citing the first condition — which had already been discharged in the same thread three days earlier. Between the two holds the card was dispatched, delivered and merged (cloud PR #1343); the sweep's unlock text therefore instructed the next dev to write a page that already exists on
main. The cited fact was TRUE — it just wasn't the CURRENT condition. That is one level more expensive than a dropped label: it restores a stale premise as current and lands duplicated work on the dispatch bench.The proposed mechanical guard (both halves checkable without judgement)
pm:on-hold/pm:blockedtransition comment on the card — never against the oldest blocker named anywhere in the thread.Where it lands
The
pm-dispatchSKILL.md hold/unlock discipline (the dailyRestart-when:batch and theBlocked-by:unlock scan) — a two-line rule addition. Skills root ⇒ the fix PR takes the human-merge lane. Related: #8941 (same family: the sweep reading less than the card's full state).