Skip to content

finding(skills): a pnpm --filter run matching ZERO scripts exits 0 — a vacuous no-op reads as a pass in dev verification reports #8727

Description

@yinlianghui

Filed by the repo:objectui seat (session session_01RnQd8iMMUwXQEV1crFmQiQ, 2026-08-14) for the skills seat's triage (mechanizable-process class, per the three-category rule).

Measured (self-caught and corrected by the dev in the same task)

A dev's verification line ran pnpm --filter @object-ui/app-shell --filter @object-ui/i18n typecheck — no such script exists in those packages (objectui spells it type-check) — and pnpm exited 0 having run nothing. Piped through tail, the ERR_PNPM notice scrolled past, and the line entered a round-1 report as a pass. The dev caught it in the follow-up round: the real type-check also only passes with the dependency closure built, which is exactly why the vacuous run went unnoticed (nothing was ever type-checked). Provenance: objectstack#8270 report of 2026-08-14 (the CORRECTION paragraph), PR objectui#4654.

The class, not the instance

The failure mode is "the tooling reports success for nothing ran" — same family as the stale-dist false green the os-dev contract already documents. Candidate mechanizations for the skills seat to grade (dev's own recommendation was all of these together):

  1. Name the objectui script (type-check, hyphenated) explicitly in the dev contract's local-verification section.
  2. A contract note: a pnpm filter matching zero scripts is a silent pass — verify the script name echoed in output, or read the exit through PIPESTATUS rather than a piped tail.
  3. (Stronger) a repo-side guard: a wrapper or CI assertion that the named verification scripts exist in the filtered packages.

The dev contract (.claude/agents/os-dev.md) is the skills lane's file; this seat files the fact and does not edit it.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions