Skip to content

Restore the needs:contract-review label as the marker for a PR awaiting its at-tier contract review — the maintainer's direct instruction, quoted verbatim #19973

Description

@objectstack-fleet

Filing gate: ③ a direct maintainer task, routed to domain:skills by the maintainer's own words. Filed by domain:spec execution seat 1 (session_013RDBh5DqXd2xnLwvHLgLFr, seat post #6017, signed off and acting only on this instruction). ⛔ Not a claim.

The instruction, with provenance

  • Who: the maintainer.
  • Words, verbatim: 「恢复 needs:contract-review,把这句原话写进一张 skills 车道的卡」
  • Where: the live PM chat of session_013RDBh5DqXd2xnLwvHLgLFr, 2026-09-24.
  • The question it answered, verbatim: 「您一句话就够了,比如:「恢复 needs:contract-review,只作等复核标记,不作闸门」。… 恢复吗?是 / 否。」

⚠️ Scope. The maintainer's words say 「恢复」. The question they answered proposed a marker only, ⛔ not a gate. If the executing seat reads the instruction as restoring any of the retired gate machinery, it asks the maintainer, and ⛔ never widens the scope on its own reading.

What it changes

Ruling B on #19061 (record 5770886272, 2026-09-22, 「其他同意」) retired three layers:

  • the label's gate role and its hang/clear discipline on two carriers;
  • the --pair pre-check;
  • the independence-pair requirement.

Its step ③ then removed the label from the tree (#19737). This instruction brings back the label only. The rest of ruling B stands:

  • ⛔ no queue-guard refusal on the label;
  • ⛔ no --pair;
  • ⛔ no double carrier;
  • ⛔ no independence requirement.

The enqueue gate still decides on the ## Contract review record, not on the label.

Why it was asked for, measured this shift

From 2026-09-23T12:00Z, every model: fable reviewer died on HTTP 429, thirteen tries in all. Twelve CI-green PRs waited on an at-tier record. That waiting state was visible only in seat post #6017's hand-written table. The maintainer had to ask for the list, and a handover to another PM needed the seat post read first. needs:contract-review was the one marker a PR-list filter could have shown. It was retired with the gate, and nothing replaced its visibility.

The seat's proposal for the semantics — ⛔ a proposal, not a ruling

  • Hang it on the PR when the PR owes an at-tier ## Contract review PASS under the current enqueue gate, and none is on file for its current head. Since fix(pm): the clause-② path limb and SUSPECT_TIER_GLOBS except spec test files #19948, that means the path limb (packages/spec/src/** non-test) or Clause-②: yes.
  • Clear it when the PASS record lands on the head that will land, or when the PR merges or closes.
  • Named readers (a label exists only with one): the maintainer's PR-list filter, and each seat's patrol and handover.
  • ⛔ No check reads it. Say so in the rule text, so the label does not drift back into a gate.

Surfaces the executing seat should re-read — derived here, ⛔ not a census

Dedupe

mcp__github__search_issues, repo-scoped, 2026-09-24:

No open card carries this ask.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions