Filed unassigned and ungraded by the domain:cli execution seat (#6024), session session_01UjujZN219uFzBhSYfMykCd, R47. ⛔ Not graded, not routed. ⛔ Not a third copy of #11901 / #11936 — those recorded that the PM under-applies its own rules; this card is about why the remediation shape decides whether the fix holds, with today's round as the measurement.
The class is known and was closed twice
⇒ ⛔ The class did not stay fixed. Four fresh instances in one round today, listed below.
⭐ The discriminator, measured: #11901's fix HELD, and the reason is in its own triage note
#11901's skills-lane triage adopted the card's mechanical option as primary, and stated why in one clause:
the PM-authored text does not use angle-bracket path placeholders; spell it in words — "because it removes the construct instead of adding a check"; the read-back rule was recorded only as "the backstop".
That fix held. Verified against this seat's own output today: every dispatch order this round spells the restore instruction in words and carries no angle-bracket path placeholder. ⛔ Not because the PM remembered the rule — because the construct it could get wrong is no longer available to type.
⚠️ And the fixes that were RULES did not hold — four instances today, all in one round
| # |
the rule that existed |
what happened |
| 1 |
pull the full list; do not answer from an older snapshot |
Answered "the queue is exhausted" from a reading 11 hours old; 40 commits had landed. The user had to say so twice. |
| 2 |
every zero assertion carries a positive control |
Ran a census with a narrow anchor (17; the true figure was 29) and nearly overruled a dev who was right. No control. |
| 3 |
(same rule) |
Truncated a per-PR file list at 40 lines, against a PR that had 39 files — one line from a silent wrong fence. |
| 4 |
the loop refills to the ceiling after review |
Twice finished a batch, wrote a summary, and left 0 of 5 dev seats filled until the user asked. |
⭐ Each of these is a rule this seat had written into a dispatch order in the same session — it teaches them reliably and executes them unreliably.
⭐ The one new discipline that DID hold this round is also construct-shaped
Mid-round this seat read the wrong ref because a background job overwrote FETCH_HEAD — shared state in the common git dir. The fix adopted was not "remember that FETCH_HEAD is shared"; it was a different command: fetch pull refs into a seat-owned namespace and read that. ⇒ it held for every subsequent read, ⭐ for the same reason #11901's did: it changed what gets typed, not what has to be recalled.
What this suggests the skill should say
⛔ Not prejudged — the skills lane owns the shape. But the measurement points one way:
- Rank remediation shapes. When a PM-side failure is recorded, the amendment should prefer, in order: (a) remove the construct that permits the error; (b) make the correct form the only one the protocol spells; (c) add a check the PM must remember. ⭐ (c) is what has recurred; (a) is what held.
- Name the four recurring PM instruments explicitly, because they are the ones with no mechanical form today: a board/queue reading, a fence derivation, a census/grep, and the loop's refill step.
- ⚠️ A candidate (a)-shaped move for instrument 1, offered as an example rather than a recommendation: require every board/tree reading to be stated with the timestamp it was taken at. A reading without a timestamp then reads as malformed rather than as current — the staleness becomes visible in the artifact instead of living in the PM's memory.
⚠️ What this card does NOT claim
⛔ It does not claim (c)-shaped rules are useless — #11901 kept the read-back rule as a deliberate backstop for the cases where the construct cannot be removed, and that is right. ⛔ It does not claim today's four failures are novel; #11936 already measured the same class. ⭐ The new content is only the discriminator: one closed card's fix survived, three did not, and they differ by shape rather than by effort.
Re-check
gh issue view 11901 # the triage comment stating the construct-removal rationale
gh issue view 11936
git grep -n "绝对路径" -- .claude/skills/pm-dispatch # the surviving construct-removal, if it reached the skill text
⛔ Reverse-check any zero against a control. ⚠️ And note the newest false-zero mechanism measured this session: git grep reads only tracked files, so a newly created unstaged file returns a clean zero from a dead scan — caught by a dev only because its control also came back zero.
Duplicate check
Searched this round (253 matches reviewed at the top). Nearest are #11901 and #11936, both closed and both recording the class; #12672, #12779, #12668 are open domain:skills cards on different pm-dispatch subjects (a stale lane row, a Part of wording warning, three standing rules). ⛔ No open card covers the remediation-shape question. ⚠️ Not exhaustively deduped outside domain:skills.
Refs
Filed unassigned and ungraded by the
domain:cliexecution seat (#6024), sessionsession_01UjujZN219uFzBhSYfMykCd, R47. ⛔ Not graded, not routed. ⛔ Not a third copy of #11901 / #11936 — those recorded that the PM under-applies its own rules; this card is about why the remediation shape decides whether the fix holds, with today's round as the measurement.The class is known and was closed twice
⇒ ⛔ The class did not stay fixed. Four fresh instances in one round today, listed below.
⭐ The discriminator, measured: #11901's fix HELD, and the reason is in its own triage note
#11901's skills-lane triage adopted the card's mechanical option as primary, and stated why in one clause:
That fix held. Verified against this seat's own output today: every dispatch order this round spells the restore instruction in words and carries no angle-bracket path placeholder. ⛔ Not because the PM remembered the rule — because the construct it could get wrong is no longer available to type.
⭐ Each of these is a rule this seat had written into a dispatch order in the same session — it teaches them reliably and executes them unreliably.
⭐ The one new discipline that DID hold this round is also construct-shaped
Mid-round this seat read the wrong ref because a background job overwrote
FETCH_HEAD— shared state in the common git dir. The fix adopted was not "remember that FETCH_HEAD is shared"; it was a different command: fetch pull refs into a seat-owned namespace and read that. ⇒ it held for every subsequent read, ⭐ for the same reason #11901's did: it changed what gets typed, not what has to be recalled.What this suggests the skill should say
⛔ Not prejudged — the skills lane owns the shape. But the measurement points one way:
⛔ It does not claim (c)-shaped rules are useless — #11901 kept the read-back rule as a deliberate backstop for the cases where the construct cannot be removed, and that is right. ⛔ It does not claim today's four failures are novel; #11936 already measured the same class. ⭐ The new content is only the discriminator: one closed card's fix survived, three did not, and they differ by shape rather than by effort.
Re-check
⛔ Reverse-check any zero against a control.⚠️ And note the newest false-zero mechanism measured this session:
git grepreads only tracked files, so a newly created unstaged file returns a clean zero from a dead scan — caught by a dev only because its control also came back zero.Duplicate check
Searched this round (253 matches reviewed at the top). Nearest are #11901 and #11936, both closed and both recording the class; #12672, #12779, #12668 are open⚠️ Not exhaustively deduped outside
domain:skillscards on different pm-dispatch subjects (a stale lane row, aPart ofwording warning, three standing rules). ⛔ No open card covers the remediation-shape question.domain:skills.Refs
Re-checkgrep 用的是脑中完整的那句话,文件里它折了行 —— 三次实测返回没有阳性对照的假零 #12671 — this seat's earlier finding on filed cards' re-check greps returning uncontrolled false zeros (the dev-facing half of instrument 3)