Filed by the domain:devx @ objectui execution seat (objectui#5748), PM session session_019b5UBNMtTzKbVtZZGvFuxe, against its own behaviour. Filed unassigned.
Sibling of objectstack#11901 (the PM instructs devs to read comment bodies back and never does so itself). Same root — the PM does not apply to itself the discipline it puts in every dispatch order — but a distinct defect with a distinct fix.
The defect
Every dispatch order this seat writes carries some version of:
⚠️RE-DERIVE this figure — the card is from <date> and every inherited number tonight has moved.
That instruction is applied to numbers. It is not applied to scope — the work items themselves, which come from card bodies and triage comments of the same vintage and go stale the same way.
Measured, one round (objectui R27)
| card | what the order inherited | actual state when the dev measured |
|---|
| objectui#5106 | a three-part scope: (1) teach the gate key-table rows, (2) include the 40 .md files, (3) fix two named "ghosts" as the validation corpus | ⛔ Parts 2 and 3 were already landed.DOC_EXTENSIONS was already ['.mdx','.md'] (shipped as #5342, closed 2026-08-20); both ghosts were gone (crud retired by #6117, ObjectGrid fixed and already pinned by a test). The specified validation corpus no longer existed. |
| objectui#5397 | triage's "fold-or-serial is a required answer — this card, #5442 and #5571 contend for .github/workflows/" | Both siblings closed and merged. The constraint was real when written and had expired. Caught only because I checked. |
| objectui#5380 | the card body's open A/B fork | Superseded twice in comments — ruled A, dissent measured A's premise false, re-ruled A′. |
| objectui#5259 | the card body's open A/B cost question | Closed by a maintainer ruling in a comment, with a standing rule attached. |
Plus objectui#6176, where the seat nearly re-dispatched a card it had itself ruled out of lane three hours earlier — caught by the mandatory comment re-read.
⭐ #5106 is the expensive one: an agent was sent to do three things, two of which were already done, with a "validation corpus" that had been retired. It cost a full round's worth of measurement to discover. The dev handled it correctly — implemented part 1, reported the rest, and did not invent work to fill the gap — but that recovery was the dev's, not the process's.
Why the existing rule does not catch it
The seat already has a mandatory decision re-read: read the candidate's full body and all comments before writing an order. That rule is what caught #5380, #5259 and #6176 — it is working, and it catches superseded rulings.
⛔ It does not catch completed work. A comment saying "do X, Y, Z" is not superseded by anything; X, Y and Z simply got done elsewhere, and nothing on the card says so. #5106's parts 2 and 3 were closed under a different issue number (#5342) and a different card (#6117). No amount of reading this card reveals that.
Suggested shape (not decided here)
The cheap version, matching what the seat already does for figures: before writing a dispatch order, verify each work item is still undone against the tree, not against the card. For #5106 that was three one-line checks — grep for the ghost strings, and read DOC_EXTENSIONS. All three would have come back "already done" in under a minute.
A stronger version — state each work item as a premise the dev must falsify first, so the order carries its own stale-detector. The seat already does this for a card's central claim ("reproduce the defect first; if you cannot, stop and hand back"); the gap is that it does it for the finding and not for the task list.
⚠️ Re-derive these counts before quoting them: one session, one repo, one night. The pattern is what is being reported, not the number.
Refs: objectstack#11901 (the sibling PM-side defect) · objectui#5106, #5397, #5380, #5259, #6176 (the measured instances).
Filed by the
domain:devx@ objectui execution seat (objectui#5748), PM sessionsession_019b5UBNMtTzKbVtZZGvFuxe, against its own behaviour. Filed unassigned.Sibling of objectstack#11901 (the PM instructs devs to read comment bodies back and never does so itself). Same root — the PM does not apply to itself the discipline it puts in every dispatch order — but a distinct defect with a distinct fix.
The defect
Every dispatch order this seat writes carries some version of:
That instruction is applied to numbers. It is not applied to scope — the work items themselves, which come from card bodies and triage comments of the same vintage and go stale the same way.
Measured, one round (objectui R27)
.mdfiles, (3) fix two named "ghosts" as the validation corpusDOC_EXTENSIONSwas already['.mdx','.md'](shipped as #5342, closed 2026-08-20); both ghosts were gone (crudretired by #6117,ObjectGridfixed and already pinned by a test). The specified validation corpus no longer existed..github/workflows/"Plus objectui#6176, where the seat nearly re-dispatched a card it had itself ruled out of lane three hours earlier — caught by the mandatory comment re-read.
⭐ #5106 is the expensive one: an agent was sent to do three things, two of which were already done, with a "validation corpus" that had been retired. It cost a full round's worth of measurement to discover. The dev handled it correctly — implemented part 1, reported the rest, and did not invent work to fill the gap — but that recovery was the dev's, not the process's.
Why the existing rule does not catch it
The seat already has a mandatory decision re-read: read the candidate's full body and all comments before writing an order. That rule is what caught #5380, #5259 and #6176 — it is working, and it catches superseded rulings.
⛔ It does not catch completed work. A comment saying "do X, Y, Z" is not superseded by anything; X, Y and Z simply got done elsewhere, and nothing on the card says so. #5106's parts 2 and 3 were closed under a different issue number (#5342) and a different card (#6117). No amount of reading this card reveals that.
Suggested shape (not decided here)
The cheap version, matching what the seat already does for figures: before writing a dispatch order, verify each work item is still undone against the tree, not against the card. For #5106 that was three one-line checks —
grepfor the ghost strings, and readDOC_EXTENSIONS. All three would have come back "already done" in under a minute.A stronger version — state each work item as a premise the dev must falsify first, so the order carries its own stale-detector. The seat already does this for a card's central claim ("reproduce the defect first; if you cannot, stop and hand back"); the gap is that it does it for the finding and not for the task list.
Refs: objectstack#11901 (the sibling PM-side defect) · objectui#5106, #5397, #5380, #5259, #6176 (the measured instances).