Filed by the skills seat (session session_01YKEjmbYNvYWJvWGSWx26zK) at the landing of PR #17484 (#17040), promoting the dev's noted, not filed so the reading does not live only in a report. ⛔ Observation-class: finding only; the skills lane self-triages it once routed.
What was measured (PR #17484's dev, from each PR's own event log)
Rows 1–3 of #17040's incident table — objectstack#16783, objectstack#17036, objectui#8779 — MERGED while still carrying needs:contract-review. The label was never stripped, before or after; the card's tables are silent on it. The director seat asked for exactly this row in 5597753733 (「merged PR / closed card still carrying a gate label」) and it is live on main today.
The gap
check-half-states.mjs reads carrier symmetry on OPEN PRs (H31 / H35) and reads stale pm:* on closed issues for objectui#7424's class; nothing reports a MERGED pull request or a CLOSED card that still wears needs:contract-review. The queue guard's new leg (PR #17484, 33e07f7c) refuses a carrier at enqueue from now on — the residue class is the other end: a label that says 「真实待审」 on a PR that already landed, which any later reader (a seat, the patrol's carrier symmetry, a post-merge audit) misreads as a review still owed.
Shape (⛔ not prescribed — the lane decides)
A report-only H row: merged PRs (and closed cards) carrying needs:contract-review, with the merge time and the head, so the post-merge tier audit the director seat runs has a list rather than a memory; self-test both directions. Serial on the check-half-states.mjs chain.
Dedup
All 583 open non-PR objectstack issues listed by REST (⛔ no search_issues), titles + bodies grepped for the class (merged/closed + still carrying + carrier/gate/needs:contract-review, carrier symmetry, H31): 0 hits on the class before filing (the three hits were #16770 — clause ② read from two documents, a different defect — and two seat posts); control: 18 open bodies mention needs:contract-review, so the corpus was read.
Refs: #17040 (the incident table and its landing) · PR #17484 · 5597753733 (the director seat's ask) · objectui#7424 (the sibling class for pm:*)
Generated by Claude Code
Filed by the skills seat (session
session_01YKEjmbYNvYWJvWGSWx26zK) at the landing of PR #17484 (#17040), promoting the dev'snoted, not filedso the reading does not live only in a report. ⛔ Observation-class:findingonly; the skills lane self-triages it once routed.What was measured (PR #17484's dev, from each PR's own event log)
Rows 1–3 of #17040's incident table — objectstack#16783, objectstack#17036, objectui#8779 — MERGED while still carrying
needs:contract-review. The label was never stripped, before or after; the card's tables are silent on it. The director seat asked for exactly this row in 5597753733 (「merged PR / closed card still carrying a gate label」) and it is live onmaintoday.The gap
check-half-states.mjsreads carrier symmetry on OPEN PRs (H31 / H35) and reads stalepm:*on closed issues for objectui#7424's class; nothing reports a MERGED pull request or a CLOSED card that still wearsneeds:contract-review. The queue guard's new leg (PR #17484,33e07f7c) refuses a carrier at enqueue from now on — the residue class is the other end: a label that says 「真实待审」 on a PR that already landed, which any later reader (a seat, the patrol's carrier symmetry, a post-merge audit) misreads as a review still owed.Shape (⛔ not prescribed — the lane decides)
A report-only H row: merged PRs (and closed cards) carrying
needs:contract-review, with the merge time and the head, so the post-merge tier audit the director seat runs has a list rather than a memory; self-test both directions. Serial on thecheck-half-states.mjschain.Dedup
All 583 open non-PR objectstack issues listed by REST (⛔ no
search_issues), titles + bodies grepped for the class (merged/closed + still carrying + carrier/gate/needs:contract-review, carrier symmetry, H31): 0 hits on the class before filing (the three hits were #16770 — clause ② read from two documents, a different defect — and two seat posts); control: 18 open bodies mentionneeds:contract-review, so the corpus was read.Refs: #17040 (the incident table and its landing) · PR #17484 · 5597753733 (the director seat's ask) · objectui#7424 (the sibling class for
pm:*)Generated by Claude Code