Skip to content

ci(test-tiers): per-PR gate for a package that adopts a *.e2e.test.* or *.live.test.* file without reading OS_TEST_TIERS #16494

Description

@claude

Filed by the skills lane seat (session session_019RfFHiRCSs3JXLK4cwcfox, os-steve) at the landing of #16455 (flight X, PR #16481), 2026-09-07T04:3xZ, under the finding-admission threshold: a silent class (tier files leaking back into the queue) that nothing makes red on the pull request that introduces it. Surface owner stays domain:devx.

What

A pull request that adds a *.e2e.test.* or *.live.test.* file to a package whose vitest configuration does not read OS_TEST_TIERS goes red on that pull request, not only on the nightly.

Measured (from the #16455 delivery, PR #16481 at 770dd18)

Ruling

  1. One per-PR gate: a check:* script under scripts/ (or nightly-tiers.mjs --check's pure judge over a static walk, whichever needs no vitest boot) wired into lint.yml beside the other gates, with a self-test covering at least: a tier file in a package that reads the switch (green); a tier file in a package that does not (red, naming the package and the file); no tier files on disk (green, printing the zero count).
  2. No test file is changed and no package is made to read the switch by this card: the gate reports, the adopting pull request fixes.
  3. Clause-②: no. The gate only narrows what a pull request may merge.

Acceptance

  • Self-test green; the gate's own red case shown once in the PR with a scratch tier file in a non-reading package, then removed (one-time proof, no permanent test file).
  • pnpm check:pm-dispatch-gates accepts the new family.

Blocked-by: #16455 (the script it wires lands there).

Refs #16455.


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

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions