You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
finding(pm-dispatch): pm:retriage is the only channel a seat has for asking triage a NON-grading question, so those cards are skipped by every dispatcher and actionable by no sweep — one ruled p1 sat 2d5h #15404
Filed by the triage seat (session session_01SwJQDFKe8tVit3BXQ9EfR5, seat post #6015) from R+145's pm:retriage sweep. Observation about the state machine, ⛔ not a defect in any one card. Unassigned and ungraded — the skills lane's to judge.
Measured, in one sweep
Of the first five pm:retriage cards worked this round, four were not re-grade requests. Each says so in its own first lines, and each was asking triage for something the label has no vocabulary for:
⚠️The surfacing does not. A triage seat working the retriage queue is looking for a disputed grade to adjudicate. It opens the card and the first line says there is no grading question. There is nothing for that sweep to do, and the thing the card needs — a designation, a re-route, a split, a fork ruling — is not what that queue is for.
⇒ The card lands in a state that is skipped by every dispatcher and actionable by no sweep: no owner, no exit condition. #14078 is the cost, in the sharpest possible form — a card the maintainer had already ruled (「14324 等我发版,其他同意」 ⇒ B), whose measurement half had already landed (PR #14409), specified down to the symbol, priority:p1, waiting 2 days 5 hours on one administrative answer.
⭐ Note what the seats did right, because it rules out "just tell them to stop": #14078's seat diagnosed the trap precisely, and still ⛔ declined to strip the label itself — correctly, since pm:* semantics are not an execution seat's to redefine, and stripping it alone would leave a dispatchable card whose claimant is undetermined, which is worse. Every actor behaved correctly and the card still starved. That is the signature of a missing state, not of a missing rule.
The shape of the gap
The state machine has a word for "the grade is disputed" (pm:retriage), for "waiting on another card" (pm:blocked + Blocked-by:), for "waiting on the maintainer" (needs-user-decision), and for "waiting on a human action outside GitHub" (pm:awaiting-maintainer).
It has no word for "waiting on triage for an answer that is not a grade" — and that is a real, recurring, named class:
designate the claiming lane for a cross-domain single PR (the skill already gives triage this power; it has no inbox)
re-route a card whose remaining surface left its lane
split a card whose surface spans two lanes
rule a disposition fork a dev report left open
⛔ Not proposing the fix
The obvious move — a new label — is the one the skill's own doctrine ranks worst: tier (c), one more thing to remember, and the skill is explicit that 「一个标签存在,当且仅当有具名读者」. A fifth waiting-state with no named reader reproduces this finding one label over.
Two framings worth weighing against that, ⛔ neither recommended here:
Use the existing vocabulary. All four classes are a card waiting on another actor, which is what pm:blocked + Blocked-by: already means — and the skill already rules that a cross-seat request 「一律立卡进目标车道队列」 with the waiter flipping to pm:blocked in the same stroke. Under that reading these four cards were already mis-labelled, and the durable fix is teaching the existing rule rather than adding a state. ⚠️ It costs a card per request, against a label that costs nothing — which is plausibly why nobody does it.
⇒ Recorded for first grading. The lane may well judge that the second bullet is the whole finding and the first is already-written rule going unread — that would itself be worth knowing, because it would mean the repair is a reader, not a rule.
Filed by the triage seat (session
session_01SwJQDFKe8tVit3BXQ9EfR5, seat post #6015) from R+145'spm:retriagesweep. Observation about the state machine, ⛔ not a defect in any one card. Unassigned and ungraded — the skills lane's to judge.Measured, in one sweep
Of the first five
pm:retriagecards worked this round, four were not re-grade requests. Each says so in its own first lines, and each was asking triage for something the label has no vocabulary for:domain:engine+domain:cli)domain:servicespackagedomain:specgenerator change⇒ 1 of 5 used the label for its documented meaning.
Why the misuse is rational, which is what makes it a design problem rather than a discipline problem
The label does two jobs and only one works.
pm:queue卡跳过派发」. A seat that must not let anyone dispatch a card until triage answers has exactly one mechanism that produces that effect, and this is it. The shared canonical-ISO normaliser turns an InvalidDatefrom a driver into a 500, whereString()served text #14078's predecessor reached for it deliberately and said in the same breath 「⛔ 不是改判请求」.⇒ The card lands in a state that is skipped by every dispatcher and actionable by no sweep: no owner, no exit condition. #14078 is the cost, in the sharpest possible form — a card the maintainer had already ruled (「14324 等我发版,其他同意」 ⇒ B), whose measurement half had already landed (PR #14409), specified down to the symbol,
priority:p1, waiting 2 days 5 hours on one administrative answer.⭐ Note what the seats did right, because it rules out "just tell them to stop": #14078's seat diagnosed the trap precisely, and still ⛔ declined to strip the label itself — correctly, since
pm:*semantics are not an execution seat's to redefine, and stripping it alone would leave a dispatchable card whose claimant is undetermined, which is worse. Every actor behaved correctly and the card still starved. That is the signature of a missing state, not of a missing rule.The shape of the gap
The state machine has a word for "the grade is disputed" (
pm:retriage), for "waiting on another card" (pm:blocked+Blocked-by:), for "waiting on the maintainer" (needs-user-decision), and for "waiting on a human action outside GitHub" (pm:awaiting-maintainer).It has no word for "waiting on triage for an answer that is not a grade" — and that is a real, recurring, named class:
⛔ Not proposing the fix
The obvious move — a new label — is the one the skill's own doctrine ranks worst: tier (c), one more thing to remember, and the skill is explicit that 「一个标签存在,当且仅当有具名读者」. A fifth waiting-state with no named reader reproduces this finding one label over.
Two framings worth weighing against that, ⛔ neither recommended here:
pm:blocked+Blocked-by:already means — and the skill already rules that a cross-seat request 「一律立卡进目标车道队列」 with the waiter flipping topm:blockedin the same stroke. Under that reading these four cards were already mis-labelled, and the durable fix is teaching the existing rule rather than adding a state.Datefrom a driver into a 500, whereString()served text #14078.⇒ Recorded for first grading. The lane may well judge that the second bullet is the whole finding and the first is already-written rule going unread — that would itself be worth knowing, because it would mean the repair is a reader, not a rule.
Refs: #14078 · #12981 · #12237 · #14325 · #14917 (the true positive) · seat post #6015 (R+145 close brief).