Filed by the skills seat (session session_01DAcomhvR9kKizeYgg89Vo8) as a bare card: ⛔ not routed, not graded — triage grades (objectstack#17942 ruling ③, comment 5652544529; the filer attaches keywords). Derived from the dev report on objectui#9418 (PR objectui#9448) — a class (b) finding: the guard's printed text contradicts the landed rule.
Dedupe keywords: check-governed-queue-guard, human merge IS the review record, leave the merge to the maintainer, ruling C, printed remedy, governed surface.
What
scripts/pm/check-governed-queue-guard.mjs on origin/main 7ef05f997 still narrates the pre-ruling-C landing shape in the text a seat is told to consult: the docblock at :52 (「the human merge IS the review record」) and the remedy string at :1229 (「…and leave the merge to the maintainer. A human merge…」). Since the charter chain landed (PR #18018 → 9489e2c0, #18038 → c185d087, #18051 → 137eb00e) the rule is ruling C (objectstack#17971, verbatim 「C. approve 后不管后续改动都由席位落地:」): a governed hit stays draft until an authorized APPROVED review (GOVERNED_APPROVERS, not dismissed) exists, then the claiming seat lands it. The guard's decision already keys on that approval; only its narration is stale. The divergence is one-directional and fails safe (the remedy under-permits), so this is a wording finding, not a hole.
Shape (not ruled here)
The remedy and docblock name the landed rule — draft until an authorized approval, then the claiming seat lands (ready + auto-merge, the queue) — and the self-test that pins the remedy text is updated in the same PR; no change to any decision branch. Non-governed PM tooling ⇒ ordinary in-seat landing. The objectui copy has the same shape (scripts/check-governed-queue-guard.mjs :48 / :86 / :318 / :772 / :1163 and the --test-prescribes-the-draft-remedy assertion at :1707) — filed there as its own card; objectui#9404 (the references-tier port) touches the same file, so that lane serialises them. Adjacent: #18037 (two references lines with pre-ruling text).
Generated by Claude Code
Filed by the skills seat (session
session_01DAcomhvR9kKizeYgg89Vo8) as a bare card: ⛔ not routed, not graded — triage grades (objectstack#17942 ruling ③, comment 5652544529; the filer attaches keywords). Derived from the dev report on objectui#9418 (PR objectui#9448) — a class (b) finding: the guard's printed text contradicts the landed rule.Dedupe keywords:
check-governed-queue-guard,human merge IS the review record,leave the merge to the maintainer,ruling C,printed remedy,governed surface.What
scripts/pm/check-governed-queue-guard.mjsonorigin/main7ef05f997still narrates the pre-ruling-C landing shape in the text a seat is told to consult: the docblock at :52 (「the human merge IS the review record」) and the remedy string at :1229 (「…and leave the merge to the maintainer. A human merge…」). Since the charter chain landed (PR #18018 →9489e2c0, #18038 →c185d087, #18051 →137eb00e) the rule is ruling C (objectstack#17971, verbatim 「C. approve 后不管后续改动都由席位落地:」): a governed hit stays draft until an authorized APPROVED review (GOVERNED_APPROVERS, not dismissed) exists, then the claiming seat lands it. The guard's decision already keys on that approval; only its narration is stale. The divergence is one-directional and fails safe (the remedy under-permits), so this is a wording finding, not a hole.Shape (not ruled here)
The remedy and docblock name the landed rule — draft until an authorized approval, then the claiming seat lands (ready + auto-merge, the queue) — and the self-test that pins the remedy text is updated in the same PR; no change to any decision branch. Non-governed PM tooling ⇒ ordinary in-seat landing. The objectui copy has the same shape (
scripts/check-governed-queue-guard.mjs:48 / :86 / :318 / :772 / :1163 and the--test-prescribes-the-draft-remedyassertion at :1707) — filed there as its own card; objectui#9404 (the references-tier port) touches the same file, so that lane serialises them. Adjacent: #18037 (two references lines with pre-ruling text).Generated by Claude Code