Filed by the domain:devx execution seat (#6023, session session_012zGPuVVX3deAx9LdjK8jCk) from two CI readings on PR #15791. Observation class; type / priority / lane are triage's (the test lives in packages/plugins/plugin-auth, so the lane is probably not devx).
The reading
packages/plugins/plugin-auth/src/durability-swallow-repair.test.ts:673 — #12981 batch 6 … admin-import-users :: the run-level audit row … a refused run-level row is reported, and says the per-row trail survived — timed out at the default 10000ms on Test Core (6/6) twice on the same PR, once per head:
| head |
run |
shard Duration line |
fd82de279 |
actions/runs/33954477249/job/101275196882 |
302.19s (transform 79.17s, import 499.82s …) |
408c47176 |
actions/runs/33961266872/job/101293478321 |
283.67s (transform 76.25s, setup 0ms, import 470.90s, tests 345.99s …) |
Both runs: Tests 1 failed | 2009 passed (2010), every other package on the shard green, check-test-completeness: OK (8 of 8 scheduled package(s) reported … 9192 test(s) declared and all accounted for).
Test Core (6/6) is green on origin/main at fd3333738, d701e657d, cc5b3dd0c, 5a21d73af (each read from that commit's check-runs).
Why it is not the PR's
PR #15791 changes packages/lint only (validate-expressions.ts, its tests, a changeset). packages/plugins/plugin-auth/package.json lists no @objectstack/lint dependency and no file under plugin-auth/ imports it (grep -rln "objectstack/lint" packages/plugins/plugin-auth/ → nothing).
The shape
The test's first statement is a dynamic await import('./admin-import-users.js') inside the test body, so the module graph's load cost is charged against the test's own 10 s budget. On a shard whose vitest import phase reads 470–500 s, that single load can exceed 10 s by itself — which is the whole failure. The neighbouring tests in the same describe do the same import but arrive after it is warm.
Why it recurs on THIS PR and not on main is consistent with cache shape: a packages/lint change leaves turbo with less to reuse (Cached: 16 cached, 44 total on the second run), so shard 6 runs colder than on a main push.
Direction (not prescribed)
- hoist the dynamic import to a
beforeAll in that describe (the load is then outside any test's budget), or
- give that one
it an explicit timeout matching its neighbours if they have one.
⛔ Not done on PR #15791: a different package, outside that card's ruling.
Dedup: this seat cannot search issue bodies (/search/issues is 403 here); no card naming durability-swallow-repair.test.ts:673 was seen in the devx lane's own inventory. Triage's call whether it duplicates a known flake card.
Generated by Claude Code
Filed by the
domain:devxexecution seat (#6023, sessionsession_012zGPuVVX3deAx9LdjK8jCk) from two CI readings on PR #15791. Observation class; type / priority / lane are triage's (the test lives inpackages/plugins/plugin-auth, so the lane is probably not devx).The reading
packages/plugins/plugin-auth/src/durability-swallow-repair.test.ts:673—#12981 batch 6 … admin-import-users :: the run-level audit row … a refused run-level row is reported, and says the per-row trail survived— timed out at the default10000msonTest Core (6/6)twice on the same PR, once per head:Durationlinefd82de279actions/runs/33954477249/job/101275196882302.19s (transform 79.17s, import 499.82s …)408c47176actions/runs/33961266872/job/101293478321283.67s (transform 76.25s, setup 0ms, import 470.90s, tests 345.99s …)Both runs:
Tests 1 failed | 2009 passed (2010), every other package on the shard green,check-test-completeness: OK (8 of 8 scheduled package(s) reported … 9192 test(s) declared and all accounted for).Test Core (6/6)is green onorigin/mainatfd3333738,d701e657d,cc5b3dd0c,5a21d73af(each read from that commit's check-runs).Why it is not the PR's
PR #15791 changes
packages/lintonly (validate-expressions.ts, its tests, a changeset).packages/plugins/plugin-auth/package.jsonlists no@objectstack/lintdependency and no file underplugin-auth/imports it (grep -rln "objectstack/lint" packages/plugins/plugin-auth/→ nothing).The shape
The test's first statement is a dynamic
await import('./admin-import-users.js')inside the test body, so the module graph's load cost is charged against the test's own 10 s budget. On a shard whose vitestimportphase reads 470–500 s, that single load can exceed 10 s by itself — which is the whole failure. The neighbouring tests in the samedescribedo the same import but arrive after it is warm.Why it recurs on THIS PR and not on main is consistent with cache shape: a
packages/lintchange leaves turbo with less to reuse (Cached: 16 cached, 44 totalon the second run), so shard 6 runs colder than on a main push.Direction (not prescribed)
beforeAllin thatdescribe(the load is then outside any test's budget), oritan explicit timeout matching its neighbours if they have one.⛔ Not done on PR #15791: a different package, outside that card's ruling.
Dedup: this seat cannot search issue bodies (
/search/issuesis 403 here); no card namingdurability-swallow-repair.test.ts:673was seen in the devx lane's own inventory. Triage's call whether it duplicates a known flake card.Generated by Claude Code