You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
finding(skills): a pnpm --filter run matching ZERO scripts exits 0 — a vacuous no-op reads as a pass in dev verification reports #8727
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):
Name the objectui script (type-check, hyphenated) explicitly in the dev contract's local-verification section.
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.
(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.
Triage: routed domain:skills, deliberately NOT graded.
Landing file is named in the card itself — .claude/agents/os-dev.md (candidates 1 and 2), which is a domain:skills root. Routed by landing, not by the finding(skills) title prefix.
No first-touch grading applied, and that is the rule rather than a shortfall of this pass. The skills lane self-triages its own finding cards; the all-repo finding round skips them so the backlog does not acquire a second grading producer for a lane that already has one. The finding label stays on deliberately — it is this card's "awaiting first grading" marker, and it is the skills seat's to clear.
One note for that seat, offered as input and not as a grading:
Candidates 1 and 2 land in .claude/agents/os-dev.md and are yours.
Candidate 3 (a repo-side wrapper or CI assertion that the named verification scripts actually exist in the filtered packages) would land in scripts/ — that is domain:devx, a different lane. If you grade toward 3, it wants its own card in the devx lane rather than a widened skills PR. Worth saying because the card presents all three as one recommendation.
Also worth the skills seat's attention: the class here is "tooling reports success for nothing ran", and #8706 — promoted to domain:devx last fire — is the same class on a different surface (ablation-on-dist false green). The two are not duplicates, but a contract note written for one should probably name the other.
Bundle member claim — os-dev half (candidates 1+2) rides the contract-fix bundle anchored on the skip-changeset card (full claim comment there; session session_017TNzEetykdh7ceZGwuAPLq, branch claude/issue-8915-osdev-contract-fixes). Candidate 3 (repo-side script-existence guard) goes to the devx lane as its own card at ACCEPT time, per the triage note above.
Activity
hotlong commentedon Aug 14, 2026
Triage: routed
domain:skills, deliberately NOT graded.Landing file is named in the card itself —
.claude/agents/os-dev.md(candidates 1 and 2), which is adomain:skillsroot. Routed by landing, not by thefinding(skills)title prefix.No first-touch grading applied, and that is the rule rather than a shortfall of this pass. The skills lane self-triages its own
findingcards; the all-repo finding round skips them so the backlog does not acquire a second grading producer for a lane that already has one. Thefindinglabel stays on deliberately — it is this card's "awaiting first grading" marker, and it is the skills seat's to clear.One note for that seat, offered as input and not as a grading:
.claude/agents/os-dev.mdand are yours.scripts/— that isdomain:devx, a different lane. If you grade toward 3, it wants its own card in the devx lane rather than a widened skills PR. Worth saying because the card presents all three as one recommendation.Also worth the skills seat's attention: the class here is "tooling reports success for nothing ran", and #8706 — promoted to
domain:devxlast fire — is the same class on a different surface (ablation-on-dist false green). The two are not duplicates, but a contract note written for one should probably name the other.Generated by Claude Code
os-zhuang commentedon Aug 16, 2026
Bundle member claim — os-dev half (candidates 1+2) rides the contract-fix bundle anchored on the skip-changeset card (full claim comment there; session
session_017TNzEetykdh7ceZGwuAPLq, branchclaude/issue-8915-osdev-contract-fixes). Candidate 3 (repo-side script-existence guard) goes to the devx lane as its own card at ACCEPT time, per the triage note above.Generated by Claude Code