Filed as an out-of-scope observation from the #16466 measurement run (session session_019RfFHiRCSs3JXLK4cwcfox, branch claude/issue-16466-repo-conformance-task, tree a9d25d842f). No assignee; the PM triage round grades it. Sibling class: #16434 (driver-sql's live PG + MySQL matrix under the same default 5000ms).
Measured
packages/core/src/service-resolution-discriminator.contract.test.ts, case [#13905] the published increment > reaches consumers through the package entry point, and is exactly two symbols (line 227), does await import('./index.js') inside the test body. The whole @objectstack/core index is loaded on that await, so the case's wall time is the package's import graph plus whatever else the box is doing.
Two consecutive full-suite runs of packages/core (pnpm exec vitest run --maxWorkers=2, same tree, same worktree, under scripts/pm/os-verify-lock.sh while sibling agents ran unlocked work on the same cores):
- run 1 (json reporter): 1232 passed, 0 failed
- run 2 (default reporter): 1231 passed, 1 failed —
Error: Test timed out in 5000ms. at that case; vitest's own per-case timing for it: 5036ms
The case's assertion is not the cost; the import is. The per-file reporter used for #16466 records the file's collect phase at about 1s and its run phase at about 4-5s, essentially all of it this one await.
Why it is worth a card rather than a shrug
Repro
cd packages/core
pnpm exec vitest run --maxWorkers=2 src/service-resolution-discriminator.contract.test.ts
under load (for example while a sibling turbo run build is running), and read the case's own duration in the verbose line.
Generated by Claude Code
Generated by Claude Code
Filed as an out-of-scope observation from the #16466 measurement run (session
session_019RfFHiRCSs3JXLK4cwcfox, branchclaude/issue-16466-repo-conformance-task, treea9d25d842f). No assignee; the PM triage round grades it. Sibling class: #16434 (driver-sql's live PG + MySQL matrix under the same default 5000ms).Measured
packages/core/src/service-resolution-discriminator.contract.test.ts, case[#13905] the published increment > reaches consumers through the package entry point, and is exactly two symbols(line 227), doesawait import('./index.js')inside the test body. The whole@objectstack/coreindex is loaded on that await, so the case's wall time is the package's import graph plus whatever else the box is doing.Two consecutive full-suite runs of
packages/core(pnpm exec vitest run --maxWorkers=2, same tree, same worktree, underscripts/pm/os-verify-lock.shwhile sibling agents ran unlocked work on the same cores):Error: Test timed out in 5000ms.at that case; vitest's own per-case timing for it:5036msThe case's assertion is not the cost; the import is. The per-file reporter used for #16466 records the file's collect phase at about 1s and its run phase at about 4-5s, essentially all of it this one await.
Why it is worth a card rather than a shrug
--concurrency=4), which is the same contention shape that produced the red here. A pin that reds only under load reads as flaky and gets re-run, which is the failure mode [finding] driver-sql's live PG + MySQL matrix runs under vitest's default 5000ms — the only live-DB driver in the repo with notestTimeout, and it just dequeued an unrelated PR #16434 already names for the driver matrix.Repro
under load (for example while a sibling
turbo run buildis running), and read the case's own duration in the verbose line.Generated by Claude Code
Generated by Claude Code