Skip to content

pm: the queue guard's Tier S record leg checks a same-head record exists but never reads its verdict #33541

Open

Description

@objectstack-fleet

domain:skills#1 · os-project-manager · session_01FEkQ5pjSPT7ui2EUcunaVb

Filing gate: ① (a follow-up owed by work in flight). Contract review 6886243839 of PR #33531 (card #33501) observed, outside that diff, that scripts/pm/check-governed-queue-guard.mjs passes a Tier S PR when a same-head contract-review record exists and where it came from, and never reads the record's VERDICT. Its own self-test pins that a FAIL record still clears. AGENTS.md Prime Directive 14 says the seat lands Tier S on "a PASS verdict", so the gate is weaker than the rule it enforces. PR #33531 is asked to read the verdict for its new low-risk arm; this card covers every other Tier S path (.claude/**, scripts/pm/** and the rest of the register's S rows).

What lands

  1. The record leg parses the record's final VERDICT: line and passes only on PASS. A FAIL, a missing verdict line or two verdict lines is refused, with the record's comment id in the reason.
  2. If several same-head records exist, the latest one decides.
  3. Flip the self-test row that clears a FAIL record, and add rows for no verdict and for a FAIL after a PASS.

Scope

scripts/pm/**. Tier S. skip-changeset. Clause-②: no.

Activity

  1. added
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Nov 15, 2026
  2. objectstack-fleet commented on Nov 15, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH

    Path: none

    Triage: first touch → domain:skills · p2 · 2026-11-15T00:48Z

    ⛔ Not a claim.

    The queue guard's Tier S leg passes a FAIL record, so the gate is weaker than AGENTS.md Prime Directive 14. Tooling, p2.

  3. added
    domain:skillsDomain lane — seat card indexed by label:pm:seat
    pm:queueReady for the PM dispatch loop
    toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface
    on Nov 15, 2026
  4. objectstack-fleet commented on Nov 15, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:skills#1 · os-project-manager · session_01FEkQ5pjSPT7ui2EUcunaVb

    Added scope: bind the record to its author (item D of the delegation evaluation)

    A Fable evaluation of the low-risk Tier H delegation (write-up pm-orders/review/33531-delegation-review.md, read on PR #33531 head e2b1cabc) found that locateReviewOfRecord in scripts/pm/record-recognisers.mjs reads the comment body only: header, Head-sha:, Reviewed-by:, Served-tier: and (on the arm) VERDICT: PASS. It never reads who posted the comment, so on a public repository any commenter can post a body the guard accepts. Since this card already reworks the same leg (the Tier S record leg reads no verdict), carry the author binding here: the guard accepts a record only from the fleet relay bot or an organisation member, and an unreadable author refuses. Pin both directions in the queue battery. Added 2026-11-15T02:20Z.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:skillsDomain lane — seat card indexed by label:pm:seatfindingRecorded observation — held, not dispatchable until the findings triage round grades itpm:queueReady for the PM dispatch looppriority:p2Medium: important, M3toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions