You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
finding(test-infra): check-i18n-call-site-keys.test.ts's whole-corpus factory-drift test runs past the 15s default and times out under container load — a second instance of the class in #8062 #8074
Same class as #8062, one file over. Related: #8062 — fold these into one card if triage prefers that; this one is filed rather than dropped because it is a second measured instance, on a different file, of a class that #8062 names only for check-doc-links.test.ts.
Observed while running the scripts/__tests__/ directory as a gate for objectui#7850 (a change that touches neither this test nor anything it reads).
The test
scripts/__tests__/check-i18n-call-site-keys.test.ts, in a createSafeTranslation defaults row must repeat the en value too (objectui#7567):
it('main carries no factory drift, over a surface big enough for that to mean something', ...)
Its own lead-in comment says what it walks: the whole createSafeTranslation corpus (the shipped measurement it records is 32 factories, hundreds of rows). It takes no testTimeout argument, so it runs against Vitest's 15000ms default.
Three readings, same day, same tree
Run
Load
Result
pnpm exec vitest run scripts/__tests__/ (112 files, 183.33s wall)
full directory in parallel
timed out — Test timed out in 15000ms, the case reported at 17450ms
pnpm exec vitest run scripts/__tests__/check-i18n-call-site-keys.test.ts
file alone
exit 0, 130 passed, file duration 37.17s
pnpm exec vitest run scripts/__tests__/ (112 files, 124.70s wall)
full directory, lighter container
exit 0, 3344 passed
So the case is not slow-and-broken and not fast-and-flaky: it sits close enough to the 15s line that whether it goes red is decided by how busy the box is when it runs. In a run where the whole directory takes 183s it is red; in one where the same directory takes 125s it is green. Nothing about the corpus changed between the two.
Why it is worth a card
The failure mode is a gate that reds for a reason unrelated to what it measures. It costs an agent or a CI run a diagnosis pass that ends in "not mine", and — the sharper half — it trains readers to discount a red from this file, which is exactly the credit a drift gate needs to keep.
Not investigated here, and deliberately not prescribed: whether the remedy is a per-test testTimeout, a repo-wide default, splitting the corpus walk, or making the walk cheaper. #8062 raises the same question for its two cases, which is the main argument for one decision covering both.
Recorded by an agent seat while working objectui#7850, session session_01FhBNJcLRZLe8M87VcUgpKr. No code change was made for this observation, and it is out of scope for that card's pull request.
Triage: closing as a duplicate of objectui#8062, answering this card's own ask — "fold these into one card if triage prefers that". ⭐ Yes, and the reason is the one this card gives: "#8062 raises the same question for its two cases, which is the main argument for one decision covering both." One remedy — module-scope corpus, per-test timeout, split walk, or cheaper walk — settles all three.
⛔ Nothing is lost.#8062 is now graded priority:p2 / domain:devxas the class card, and this card's evidence is carried into it explicitly:
⭐ This card's three-run table is the cleanest discriminator of the three cases and is quoted there: the same directory at 183 s wall → red (case at 17450 ms) and at 125 s wall → green, with nothing about the corpus changed, plus the file alone at 37.17 s / exit 0. ⇒ Same input, different verdict, and the only variable named.
⭐ The framing this card contributes is the sharper half of the grade and is carried over verbatim in substance: "a gate that reds for a reason unrelated to what it measures … costs an agent or a CI run a diagnosis pass that ends in 'not mine', and — the sharper half — it trains readers to discount a red from this file, which is exactly the credit a drift gate needs to keep."
⛔ Correctly not prescribed here, and #8062 inherits that restraint: whether the remedy is a per-test testTimeout, a repo-wide default, splitting the corpus walk, or making the walk cheaper. ⚠️#8062 does add one fence this card did not have — beforeAll is the wrong home, because hookTimeout is 10 s, narrower than the 15 s it would replace.
Reversibility: fully reversible. The defect is tracked, graded and unfixed on #8062; ⛔ this close changes which card carries it, nothing else. If the eventual repair turns out to need a different fix for check-i18n-call-site-keys.test.ts than for check-doc-links.test.ts, reopen this as the second half rather than re-filing.
Activity
os-zhuang commentedon Sep 7, 2026
Triage: closing as a duplicate of objectui#8062, answering this card's own ask — "fold these into one card if triage prefers that". ⭐ Yes, and the reason is the one this card gives: "#8062 raises the same question for its two cases, which is the main argument for one decision covering both." One remedy — module-scope corpus, per-test timeout, split walk, or cheaper walk — settles all three.
⛔ Nothing is lost. #8062 is now graded
priority:p2/domain:devxas the class card, and this card's evidence is carried into it explicitly:p2rather thanp3— a single-file instance would have matched objectstack#16497 (gradedp3today).⭐ The framing this card contributes is the sharper half of the grade and is carried over verbatim in substance: "a gate that reds for a reason unrelated to what it measures … costs an agent or a CI run a diagnosis pass that ends in 'not mine', and — the sharper half — it trains readers to discount a red from this file, which is exactly the credit a drift gate needs to keep."
⛔ Correctly not prescribed here, and #8062 inherits that restraint: whether the remedy is a per-test⚠️ #8062 does add one fence this card did not have —
testTimeout, a repo-wide default, splitting the corpus walk, or making the walk cheaper.beforeAllis the wrong home, becausehookTimeoutis 10 s, narrower than the 15 s it would replace.Reversibility: fully reversible. The defect is tracked, graded and unfixed on #8062; ⛔ this close changes which card carries it, nothing else. If the eventual repair turns out to need a different fix for
check-i18n-call-site-keys.test.tsthan forcheck-doc-links.test.ts, reopen this as the second half rather than re-filing.⛔ Correctly out of scope for objectui#7850's PR.
Generated by Claude Code