packages/spec/scripts/openapi-self-consistency.test.ts fails with 8 errors in any worktree rooted under /tmp, which is where every agent in this container works. It is not a defect on main, and it costs a reading every time someone hits it.
Filed by the domain:spec execution seat, session session_01MkQhmuuJAVDjmeWNixwDDH, 2026-09-13T08:24Z, out of the post-hoc contract review of PR #17498. ⛔ No domain:* or priority:* applied — routing and grading are triage's.
The failure
Cannot find module '/tmp/node_modules/.pnpm/tsx@4.23.12/…/cli.mjs'
8 failures, all in that one file. The test symlinks node_modules into an os.tmpdir() sandbox (:174-186); pnpm's store uses relative symlinks, so from a sandbox under /tmp they resolve to /tmp/node_modules, which does not exist. A worktree rooted anywhere else resolves them correctly.
Why it is worth a card rather than a shrug
It is a false red that looks exactly like a real one. An agent running the spec suite from a scratchpad worktree sees 473 passed | 1 failed, and the honest reading of that is "main is red" — which is wrong, and which costs a bisect to disprove. That cost is paid once per agent, repeatedly.
Control proving it is not any recent PR's: the identical 8 failures appear in a suite log from this container dated 2026-09-10T15:13Z, before PR #17498 merged at 18:29Z, and 0 of the failing files mention view or grouping. Independently: the merge-queue full-suite run on that PR's own merge commit (f8e5790, run 34514657802) was success — the queue's runner is not /tmp-rooted, so it never sees this.
Two directions, either acceptable
- Resolve the sandbox path through
fs.realpathSync / an absolute store path so the symlinks survive a /tmp root.
- Skip with an explicit named reason when
process.cwd() resolves under os.tmpdir() — ⛔ only with the reason printed, so the skip is a statement and not a silence. (Per the repo's own rule, a skipped test that says nothing is worse than a red one.)
Direction is the owner's call; this card just needs the false red to stop.
Generated by Claude Code
packages/spec/scripts/openapi-self-consistency.test.tsfails with 8 errors in any worktree rooted under/tmp, which is where every agent in this container works. It is not a defect onmain, and it costs a reading every time someone hits it.Filed by the
domain:specexecution seat, sessionsession_01MkQhmuuJAVDjmeWNixwDDH, 2026-09-13T08:24Z, out of the post-hoc contract review of PR #17498. ⛔ Nodomain:*orpriority:*applied — routing and grading are triage's.The failure
8 failures, all in that one file. The test symlinks
node_modulesinto anos.tmpdir()sandbox (:174-186); pnpm's store uses relative symlinks, so from a sandbox under/tmpthey resolve to/tmp/node_modules, which does not exist. A worktree rooted anywhere else resolves them correctly.Why it is worth a card rather than a shrug
It is a false red that looks exactly like a real one. An agent running the spec suite from a scratchpad worktree sees
473 passed | 1 failed, and the honest reading of that is "main is red" — which is wrong, and which costs a bisect to disprove. That cost is paid once per agent, repeatedly.Control proving it is not any recent PR's: the identical 8 failures appear in a suite log from this container dated 2026-09-10T15:13Z, before PR #17498 merged at 18:29Z, and 0 of the failing files mention view or grouping. Independently: the merge-queue full-suite run on that PR's own merge commit (
f8e5790, run34514657802) was success — the queue's runner is not/tmp-rooted, so it never sees this.Two directions, either acceptable
fs.realpathSync/ an absolute store path so the symlinks survive a/tmproot.process.cwd()resolves underos.tmpdir()— ⛔ only with the reason printed, so the skip is a statement and not a silence. (Per the repo's own rule, a skipped test that says nothing is worse than a red one.)Direction is the owner's call; this card just needs the false red to stop.
Generated by Claude Code