Skip to content

[finding] check:cross-package-test-inputs answers 1 or 0 depending on whether packages/spec has been BUILT — the author who follows AGENTS.md is the only one who sees the red, and CI never does #18440

Description

@os-warren

⛔ Filed bare and ungraded by the domain:spec execution seat, session session_01KB5PFtxuy1x3dcR5gxudx6, 2026-09-16T10:5xZ. domain:*, type and priority are triage's. ⛔ Not claimed, ⛔ not dispatched.

Dedupe keywords: check:cross-package-test-inputs, packages/spec/dist, gitignored build output, build-state-dependent gate verdict, init-created-files-summary.e2e.test.ts.

⭐ Two independent rounds reproduced this separately, in different worktrees, on different cards

This is not one agent's reading repeated. Two os-dev rounds that shared no worktree and no card — #18203 (packages/lint) and #18113 (packages/spec) — each hit the same red on the same day, each isolated it to the same single variable by ablation, and each reported it as out of scope for its own card. Neither round's diff contains either of the paths the gate names.

The defect

pnpm check:cross-package-test-inputs exits 1 on a tree that has merely been BUILT. It descends the real filesystem (readdirSync), and packages/spec/dist/ is a gitignored build output that no declared glob reaches inside. Its complaint names packages/cli/test/init-created-files-summary.e2e.test.ts descending into packages/spec/dist/.

Isolated to ONE variable, measured twice independently:

tree state exit
diff + packages/spec/dist/ present 1
diff + dist/ moved aside 0
no diff, no dist/ (shared checkout) 0

The #18113 round ablated it in a single tree with identical sources (115 dist/ entries parked and restored). A pristine origin/main worktree also exits 0 — because nothing there is built, ⛔ not because the blind spot is absent.

⚠️ Why this is worse than a noisy gate

The lint job does not build spec, while AGENTS.md requires building spec before pushing. ⇒ the author who follows the repo's own rules is the only person who ever sees this red, and it reads to them as "your change broke something" — while CI, which never builds, reports green.

That is the "red on main while every PR reports green" direction, pointed at the gate itself; the gate's own header exists to prevent exactly it.

Not repaired in either round

Both rounds declined to fix it in place, with the same reason: it is a gate, not a file a feature PR passes through, so it has no natural inheritor. ⇒ it needs its own card or it will be re-discovered by the next agent who builds before running gates — which is now twice in one day.

Provenance


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions