build(check): run every locally runnable catalog gate in pnpm check
Summary
TOOL-4 (refs #4368). pnpm check --full ran a hand-written check:tooling chain plus fallow and the unit suite. It skipped gates that the catalog marks localRunnable:
- di-seams and agent-guidance
- affected-selector
- the mutation and coverage models
- replay and wire compatibility
- provider integration
- fixture cache and fallback
- maestro conformance
It also skipped the apple-runner Vitest project.
--full now walks the whole catalog except vitest-related, which the full unit suite replaces. Host-locked suites run last. runChecks skips each non-local gate with its owning lane, so every omission shows in the output and the receipt. The plan is reported as failOpen: false, with a full-run reason on each check. A full run passes fallow no --base, so fallow picks its own merge-base and a clone without origin/main works. Four gates that unit also covers (tmpdir-leaks, command-docs, adr-citations, capabilities-matrix) run again on purpose, per the maintainer's review: there is no dedupe. test:unit now includes apple-runner, and its three chmod-based tests skip under uid 0. The superseded check:tooling is deleted, and the docs name the catalog as the list. 12 files.
Decision for the maintainer: a local pnpm check goes from about 526 s to about 736 s, excluding lock waits. That is about 3.5 minutes more, measured at 1649a68 on a 4-CPU Linux container. macOS is not measured. CI is unaffected, because it does not run pnpm check.
Validation
- Tested SHA
ca3ebcd:check:quick,check:fallow,check:affected:test(93/93),agent-guidanceanddocs-prosepass. The full-CLI test's fallow stub fails on a missing--baseref, and it fails against thec5954bdbehaviour. - The full-run evidence below is from
1649a68. Since then, the only change to what runs is that fallow gets no--base. - Full
pnpm checkon Linux at1649a68: 11 gates passed and 25 non-local gates were listed as skipped. The run then stopped atintegration-nodeon the 2 container-onlysmoke-daemon-cleantests (PID 1 does not reap zombies). - I ran the remaining 29 gates one at a time. All passed except
unit, which failed only on the same 2 tests. - No macOS run (not available here).
- There are no CI workflow changes.
Generated by Claude Code
<a href="````'''''''''https://backend.blacksmith.sh/track/enable-autofix?expires=1796966821&installation_model_id=447842&pr_number=4401&ref=codesmith_pr_footer&repository=callstack%2Fagent-device&return_to=https%3A%2F%2Fgithub.com%2Fcallstack%2Fagent-device%2Fpull%2F4401&signature=16da4fa4227a82493e0ba0f358f602d374e50b316822225e623a0b106e3279c7"><picture><source''''''''''' media="(prefers-color-scheme: dark)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg"><img alt="Autofix with [code]smith" src="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png" width="190" height="28">``
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.
<a href="``````''''''''''''https://www.cubic.dev/action/auto-fix/pr/callstack/agent-device/4401?returnTo=https%3A%2F%2Fgithub.com%2Fcallstack%2Fagent-device%2Fpull%2F4401&source=description"'''''''''''''''''' target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/turn-on-auto-fix-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg"><img alt="Turn on auto-fix" src="https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg">
Generated by Claude Code