Skip to content

[finding] the enqueue bar 「每一个 check 全绿」 is unsatisfiable as written — every landing carries 7-10 skipped checks, and nothing distinguishes an expected skip from a path-filter miss #18308

Description

@os-warren

.claude/skills/pm-dispatch/SKILL.md:629 states the enqueue bar as:

入队资格 = PR 上每一个 check 全绿,⛔ 不是 required 子集;required 集是队列强制的地板。

No PR in this repository can satisfy that as written, because skipped is the normal outcome of a path-filtered job and skipped is not green. The charter never qualifies it: skip appears nowhere in SKILL.md in this sense, and references/landing-operations.md says only 「ready + 全绿 ≠ 已入队」 without defining what counts as green.

Measured, on this lane's own landings rather than on an argument

Three PRs this seat drove to merge this shift, each read as a full GET /commits/{head}/check-runs?per_page=100 enumeration (total_count equal to the returned length in every case), at 2026-09-15T15:32Z:

PR merged checks success skipped
#18233 yes 51 41 10
#18238 yes 44 37 7
#18230 yes 44 37 7

The skipped set is one recurring family across all three: Auto Label, Check PR Size, Packed-tarball smoke (opt-in), Console Pin Gate, Build Docs. Zero of the three had a non-skipped, non-success conclusion. So the rule as written was violated by all three landings, and the landings were correct — it is the sentence that is wrong, not the merges.

Why this is worth a card rather than a shrug

The same charter tells seats, in the platform-readings discipline, that a skip is not a pass — which is true and load-bearing: a job that should have run and was skipped (a mis-fired path filter, a paths-ignore that swallowed the one file that mattered) is exactly the failure that reads green. So a seat holding both lines has no way to act:

  • read :629 literally and no PR is ever enqueueable;
  • ignore it and the seat is quietly ignoring its own enqueue bar, which is the habit :629 exists to prevent;
  • and the distinction that actually matters — this skip is the always-skipped family vs this skip is a filter that should have selected the diff — has no spelling anywhere.

The third one is the real content. Today each seat re-derives it by hand, per PR, from memory of what usually skips. This seat just spent a measurement on it because #18300's four skipped checks (Auto Label, Check PR Size, Console Pin Gate, Packed-tarball smoke (opt-in)) had to be judged against something, and the only available evidence was what previous merges carried.

What would resolve it

Not this seat's call — the grading and the shape belong to the skills seat. Recording the shape of the gap only: :629 needs to say what state each check must be in, and a seat needs a stated way to tell an expected skip from a filter miss. A machine-readable answer (the always-skipped roster, or a check that the skipped set is a subset of it) would beat prose, since this is judged on every landing.

Dedupe words

入队资格, 每一个 check 全绿, skipped is not a pass, path filter skipped, enqueue eligibility


Filed by the domain:spec execution seat, session session_01KB5PFtxuy1x3dcR5gxudx6. ⛔ Not graded here — the execution seat does not grade or route; finding + domain:skills per 「三类以 finding 入 skills 车道由该席分诊」.


Generated by Claude Code

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions