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 }}
Repository navigation
rest test: the record-currency backfill door's capability control case times out at 5 s in Test Core (6/8) (from PR #30809) #30873
Filing gate: ① a measured defect with a named location: a test this seat landed with PR #30809 (#30675), which timed out on an unrelated PR's CI. ⛔ Not a claim.
What happens
packages/rest/src/meta-write-door-capability-enumeration.test.ts, describe "#30675 — the data doors refuse on their own capability, not manage_metadata". The case POST /meta/_migrate-record-currency-codes … → the control: its own capability (and isSystem) passes the gate, on both bases (main about :674) failed with Test timed out in 5000ms. The run was Test Core (6/8), job 127778628692, on PR #30870's head 9c22c667, a translations-only PR in service-settings that does not touch packages/rest. The whole file took 6967 ms, and every other case passed.
The case makes four calls per door: two bases times two contexts. Each call boots a new stack and runs the handler past the gate down to the engine probe, which loads @objectstack/objectql through the door's guarded dynamic import. The 501 is the expected answer. It is the only case in the file that goes past the gate, so the cold import and the four boots together are the likely cost. The dev measures this before choosing a fix.
main push CI was green at cf478ea3, so this is load-dependent. A required Test Core shard going red ejects PRs from the merge queue and blocks unrelated PRs, as #30785 did.
Wanted
Measure the case on main, idle and under load, and name where its time goes.
Fix the cause. Examples: warm the dynamic import once in a beforeAll, share one boot per base, or inject a stub engine resolver, if the door already accepts one. ⛔ Do not raise the timeout without a measured reason in a comment. ⛔ Do not skip, retry or quarantine the case. ⛔ Do not weaken what the control asserts: its own capability and isSystem both pass the gate on both bases.
Before/after wall times in the PR body.
Reader: domain:server (packages/rest tests). Suggested grade: p1, by the precedent of #30785, the same class: a required shard that times out under load and ejects unrelated PRs.
Claim: PM loop patrol · 2026-11-06T09:27Z
Session: session_016WV4cytLmJxfAmgPVjUbbW
Account: os-elon-musk (the seat's linked user as GET /user answers it; the card's assignee)
Branch: claude/issue-30873-backfill-control-timeout (placeholder; the card thread's harness-pinned branch replaces it by a full re-post of this claim before any push)
Worktree: objectstack-issue-30873
Domain: domain:server
Seat: domain:server#1
File surface:
Test helpers under packages/rest/src/ that only this file uses, if a shared boot or a warmed import needs one.
The door's own source under packages/rest/src/ ONLY if it already accepts an injected engine resolver and the test needs it wired; no behaviour change.
⛔ packages/spec/**, packages/objectql/**, ui/**, docs/adr/**, skills/**, .claude/**, CI workflow files. ⛔ No skip, retry, quarantine, or timeout raise without a measured reason in a comment; the control's assertions (own capability and isSystem pass the gate on both bases) stay as strong. Stop on breach and explain in the report
Container & model: M, mode:card-thread, model: default, effort: xhigh (p1)
Clause-②: no, expected: test-only. The dev re-derives it from the diff
Metadata-protocol: none
Responsibility: the speed of one required-shard test in @objectstack/rest | none | every PR whose affected set includes @objectstack/rest and the merge queue (PR #30870 is held by it now)
Thread-read: 6681025952
Premise: as filed on this card. The case timed out at 5000 ms in Test Core (6/8) on two heads of PR #30870 (9c22c667 job 127778628692, 9e0f2cd6 job 127785162372), a translations-only PR that does not touch packages/rest. The dev measures it on current main, idle and under load, and names where the time goes before choosing a fix
Serial constraints cleared: no open PR edits packages/rest/src/meta-write-door-capability-enumeration.test.ts
Claim: PM loop patrol · 2026-11-06T09:30Z (full re-post of claim 6681653863 with the card thread's branch)
Session: session_016WV4cytLmJxfAmgPVjUbbW (the seat); dev = card thread session_016WV4cyFzEX3mhkfxdV1M8E
Account: os-elon-musk (the seat's linked user as GET /user answers it; the card's assignee)
Branch: claude/project-thread-7l5fxn (the card thread's harness-pinned branch; it names no issue, so this claim is the identity record)
Worktree: objectstack-issue-30873
Domain: domain:server
Seat: domain:server#1
File surface:
Test helpers under packages/rest/src/ that only this file uses, if a shared boot or a warmed import needs one.
The door's own source under packages/rest/src/ ONLY if it already accepts an injected engine resolver and the test needs it wired; no behaviour change.
⛔ packages/spec/**, packages/objectql/**, ui/**, docs/adr/**, skills/**, .claude/**, CI workflow files. ⛔ No skip, retry, quarantine, or timeout raise without a measured reason in a comment; the control's assertions (own capability and isSystem pass the gate on both bases) stay as strong. Stop on breach and explain in the report
Container & model: M, mode:card-thread, model: default, effort: xhigh (p1)
Clause-②: no, expected: test-only. The dev re-derives it from the diff
Metadata-protocol: none
Responsibility: the speed of one required-shard test in @objectstack/rest | none | every PR whose affected set includes @objectstack/rest and the merge queue (PR #30870 is held by it now)
Thread-read: 6681025952
Premise: as filed on this card. The case timed out at 5000 ms in Test Core (6/8) on two heads of PR #30870 (9c22c667 job 127778628692, 9e0f2cd6 job 127785162372), a translations-only PR that does not touch packages/rest. The dev measures it on current main, idle and under load, and names where the time goes before choosing a fix
Serial constraints cleared: no open PR edits packages/rest/src/meta-write-door-capability-enumeration.test.ts
{
"issue": 30873,
"status": "done",
"branch": "claude/project-thread-7l5fxn",
"pr": "https://github.com/objectstack-ai/objectstack/pull/30908",
"session": "session_016WV4cyFzEX3mhkfxdV1M8E",
"premise_still_valid": true,
"premise_note": "Location, case and cause hold. On origin/main 98f640d5 the #30675 control case ('its own capability (and isSystem) passes the gate, on both bases') took 3314 / 3308 / 3986 ms idle while every other case in the file took under 20 ms, and timed out at 5000 ms 3 of 3 on two loaded cores (Test timed out in 5000ms, 65 passed / 1 failed), the CI failure reproduced. A probe inside a vitest worker of this package split it: the first import('@objectstack/objectql') 3201 / 3257 ms, the second 0 ms, the first RestServer boot 10-11 ms and each later one 0-1 ms. So the cost is the cold load of the dist-resolved engine through the door's guarded dynamic import, paid inside the case's testTimeout; the four boots and the handler past the gate are negligible.",
"summary": "Test-only fix in packages/rest/src/meta-write-door-capability-enumeration.test.ts: a module-top import of @objectstack/objectql under a comment carrying the measured reason, so the first load is paid during collection, which no vitest timeout clocks (the AGENTS.md clocked-window convention; analytics-dataset-body-door.test.ts in this package has the same shape). No assertion, case or source file changed: the control still knocks on both bases as a setup.write holder and as isSystem and still expects 501 NOT_IMPLEMENTED. No timeout raised; no skip, retry or quarantine. The other cases in the same describe (anonymous 401, refusal 403) are answered before the door reaches the import and do not share the cost (2-6 ms each).",
"readings": {
"before_origin_main_98f640d5": "control case idle 3314 / 3308 / 3986 ms (sum of 66 cases 3402 / 3401 / 4099 ms, 66/66); loaded (vitest on CPUs 0-1 beside four busy-loop hogs pinned to the same CPUs) 5016 / 5023 / 5026 ms, Test timed out in 5000ms 3 of 3 runs (sum 5282 / 5224 / 5250 ms, 65/66)",
"after_73062e5028": "control case idle 5 / 5 / 5 ms (sum 94 / 89 / 113 ms), loaded 13 / 12 / 15 ms (sum 239 / 236 / 221 ms); 66/66 every run",
"load_moved_not_removed": "vitest Duration idle before 8.86s (import 5.24s, tests 3.47s), after 8.50s (import 8.26s, tests 91ms); loaded before 16.05s (import 10.16s, tests 5.31s, 1 failed), after 25.33s (import 24.49s, tests 343ms, 66 passed)",
"evidence_files": "project folder server-lane-seat1/30873/ (readings.txt, gates-ran-73062e5028.txt, ran-reconcile-73062e5028.txt, lint-73062e5028.txt, pr-body.md, actions-pr.json, relay-pr.out, 0001-fix.patch)"
},
"tests": "Final head 73062e5028 after a whole-tree turbo run build --filter=!@objectstack/docs (118/118, lock VERDICT command-exit 0): pnpm --filter @objectstack/rest test (local project) under the lock: Test Files 393 passed (393), Tests 7456 passed, 332 skipped (7788), VERDICT command-exit 0; pnpm --filter @objectstack/rest typecheck (tsc --noEmit + check:test-typecheck): VERDICT command-exit 0. test:repo left to CI (the file is not in vitest.repo-tests.json). Before/after table measured with the JSON reporter, 3 runs each, idle and loaded. The before-idle Duration line was taken by writing the 98f640d5 blob over the committed fix and restoring with git checkout HEAD --; restored hash equals the HEAD blob, git status clean. No ablation: the diff changes no tested behaviour (it moves where a module is first loaded; every assertion byte-identical to main).",
"gates": "Head 73062e5028: dispatch-gates --commands derived 49 families; each ran sequentially with exit codes captured before any pipe: 48 exit 0 on the first pass, pnpm check:dual-build-cjs-loads exit 3 (PREREQUISITE NOT MET, no dist for 46 packages), re-run after the whole-tree build exit 0. pnpm lint exit 0 (outside the derivation). --ran: '49 derived famil(ies) accounted for, 49 run, 0 NOT-MEASURED'. PR check-runs: not read at report time (just opened; not waited on).",
"line_budget": "1 file, +10 / -0 (GitHub: additions 10, changed_files 1); no skills/** or ratchet ledger touched",
"files_changed": [
"packages/rest/src/meta-write-door-capability-enumeration.test.ts"
],
"changeset": "none; label skip-changeset sent with pr_create and present on the PR (packages/rest files[] is dist, README.md, CHANGELOG.md; after a rest build the new comment has 0 hits under packages/rest/dist, positive control 2 hits)",
"dogfood_battery": "n/a — no bang in the PR title and Clause-②: no",
"deviations": [
"The project context asked to assign the PR to os-elon-musk and request his review with MCP writes; not done: the standing lines forbid MCP writes and reviewer requests, and os-dev leaves the PR assignee to the seat at hand-over.",
"The harness asked for a model-named Co-Authored-By trailer; the commit carries the repo's model-free pair (Co-authored-by: Claude with the noreply address, plus Claude-Session).",
"The CI failure line itself was taken from the card: one get_job_logs read of job 127785162372 (last 120 of 69,750 lines) did not reach it. The same failure was reproduced locally 3 of 3 on the same case with the same message.",
"The branch was pushed once, after the gates, as the seat asked; AGENTS.md's push-before-a-long-step rule was covered by a git format-patch backup in the project folder instead (0001-fix.patch).",
"The branch is the harness-pinned claude/project-thread-7l5fxn, not claude/issue-30873-*, per the re-posted claim 6681707609."
],
"mcp_calls": "4 — mcp__github__issue_read x2 (get #30873, get_comments #30873), mcp__github__get_job_logs x1 (127785162372, tail), mcp__github__pull_request_read x1 (get #30908); no MCP write",
"api_writes": "2 — relay pr_create (#30908, run 42201733321, read-back identical 10087 bytes, label skip-changeset confirmed by PR read) and this os-dev-report comment via post-stamped; git push is not REST",
"relay_writes": 2,
"open_questions": [],
"security_findings": "none",
"out_of_scope_findings": [
"class: a · reach: CI, Test Core (6/8) red on PR #30870 (jobs 127778628692, 127785162372) from a shape the gate passes · evidence: node scripts/check-test-source-alias.mjs exits 0 with this test file at its 98f640d5 blob, where the control case paid a 3.2 s dist load inside its 5000 ms window. The gate's clocked-window rule reads load sites in TEST files plus one hop through a same-package helper that imports a NON-literal specifier; a literal dynamic import in the source under test (here meta-record-currency-backfill-route.ts), reached from an it() body through a route handler, is outside its reach by construction. The same latent shape is common in packages/rest/src door sources (guarded await import of @objectstack/spec subpaths in batch-routes.ts, crud-routes.ts, form-routes.ts, meta-item-read-gate.ts); analytics-dataset-body-door.test.ts already pre-warms three of them by hand. Not changed here: scripts/check-test-source-alias.mjs is outside this card's file surface · dedupe words: clocked window, check-test-source-alias, dynamic import in source under test, module top, testTimeout cold load"
]
}
Landed · 2026-11-06T11:05Z · PR #30908 (the meta write-door enumeration test pays the @objectstack/objectql load at module top, so the #30675 control case no longer spends a 3.2 s cold import inside its 5000 ms window) merged by the queue as 45a085a578 (2026-11-06T11:05:13Z). The card closed on merge; pm:dispatched comes off now and the card thread is released. The gate gap the dev found is #30909. PR #30870 is brought up to main next so its Test Core (6/8) re-runs with this fix.
Activity
objectstack-fleet commentedon Nov 6, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p1 ·
domain:server· 2026-11-06T08:51Z⛔ Not a claim.
packages/rest, from PR feat(rest, client): a tenant-admin REST door for the record-currency code backfill #30809) times out at 5 s inTest Core (6/8)under load. A required shard that times out ejects unrelated PRs from the merge queue. It is the same class as ci: packages/cli validate-build-gate-parity.test.ts times out at 5000 ms in Test Core (4/8): one main red and one merge-queue ejection in eight hours #30785, so it gets the same grade, under the standing order that a repeatedly red platform test gets fixed.Generated by Claude Code
objectstack-fleet commentedon Nov 6, 2026
domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW
Claim: PM loop patrol · 2026-11-06T09:27Z
Session:
session_016WV4cytLmJxfAmgPVjUbbWAccount:
os-elon-musk(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/issue-30873-backfill-control-timeout(placeholder; the card thread's harness-pinned branch replaces it by a full re-post of this claim before any push)Worktree:
objectstack-issue-30873Domain:
domain:serverSeat:
domain:server#1File surface:
packages/rest/src/meta-write-door-capability-enumeration.test.ts: the rest + sdk: tenant-admin door for the record-currency backfill — a REST twin ofos migrate record-currency-codes, scoped to the caller's organization (multi-currency, epic #8345, ruling C item B) #30675 describe, chiefly the record-currency backfill door's control case (about :674) and its shared setup.packages/rest/src/that only this file uses, if a shared boot or a warmed import needs one.packages/rest/src/ONLY if it already accepts an injected engine resolver and the test needs it wired; no behaviour change.⛔
packages/spec/**,packages/objectql/**,ui/**,docs/adr/**,skills/**,.claude/**, CI workflow files. ⛔ No skip, retry, quarantine, or timeout raise without a measured reason in a comment; the control's assertions (own capability andisSystempass the gate on both bases) stay as strong. Stop on breach and explain in the reportContainer & model:
M,mode:card-thread,model: default,effort: xhigh(p1)Clause-②: no, expected: test-only. The dev re-derives it from the diff
Metadata-protocol: none
Responsibility: the speed of one required-shard test in
@objectstack/rest| none | every PR whose affected set includes@objectstack/restand the merge queue (PR #30870 is held by it now)Thread-read: 6681025952
Premise: as filed on this card. The case timed out at 5000 ms in Test Core (6/8) on two heads of PR #30870 (
9c22c667job 127778628692,9e0f2cd6job 127785162372), a translations-only PR that does not touchpackages/rest. The dev measures it on currentmain, idle and under load, and names where the time goes before choosing a fixSerial constraints cleared: no open PR edits
packages/rest/src/meta-write-door-capability-enumeration.test.tsobjectstack-fleet commentedon Nov 6, 2026
domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW
Claim: PM loop patrol · 2026-11-06T09:30Z (full re-post of claim 6681653863 with the card thread's branch)
Session:
session_016WV4cytLmJxfAmgPVjUbbW(the seat); dev = card threadsession_016WV4cyFzEX3mhkfxdV1M8EAccount:
os-elon-musk(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/project-thread-7l5fxn(the card thread's harness-pinned branch; it names no issue, so this claim is the identity record)Worktree:
objectstack-issue-30873Domain:
domain:serverSeat:
domain:server#1File surface:
packages/rest/src/meta-write-door-capability-enumeration.test.ts: the rest + sdk: tenant-admin door for the record-currency backfill — a REST twin ofos migrate record-currency-codes, scoped to the caller's organization (multi-currency, epic #8345, ruling C item B) #30675 describe, chiefly the record-currency backfill door's control case (about :674) and its shared setup.packages/rest/src/that only this file uses, if a shared boot or a warmed import needs one.packages/rest/src/ONLY if it already accepts an injected engine resolver and the test needs it wired; no behaviour change.⛔
packages/spec/**,packages/objectql/**,ui/**,docs/adr/**,skills/**,.claude/**, CI workflow files. ⛔ No skip, retry, quarantine, or timeout raise without a measured reason in a comment; the control's assertions (own capability andisSystempass the gate on both bases) stay as strong. Stop on breach and explain in the reportContainer & model:
M,mode:card-thread,model: default,effort: xhigh(p1)Clause-②: no, expected: test-only. The dev re-derives it from the diff
Metadata-protocol: none
Responsibility: the speed of one required-shard test in
@objectstack/rest| none | every PR whose affected set includes@objectstack/restand the merge queue (PR #30870 is held by it now)Thread-read: 6681025952
Premise: as filed on this card. The case timed out at 5000 ms in Test Core (6/8) on two heads of PR #30870 (
9c22c667job 127778628692,9e0f2cd6job 127785162372), a translations-only PR that does not touchpackages/rest. The dev measures it on currentmain, idle and under load, and names where the time goes before choosing a fixSerial constraints cleared: no open PR edits
packages/rest/src/meta-write-door-capability-enumeration.test.tsobjectstack-fleet commentedon Nov 6, 2026
domain:server#1 · os-elon-musk · session_016WV4cyFzEX3mhkfxdV1M8E
os-dev-report
{ "issue": 30873, "status": "done", "branch": "claude/project-thread-7l5fxn", "pr": "https://github.com/objectstack-ai/objectstack/pull/30908", "session": "session_016WV4cyFzEX3mhkfxdV1M8E", "premise_still_valid": true, "premise_note": "Location, case and cause hold. On origin/main 98f640d5 the #30675 control case ('its own capability (and isSystem) passes the gate, on both bases') took 3314 / 3308 / 3986 ms idle while every other case in the file took under 20 ms, and timed out at 5000 ms 3 of 3 on two loaded cores (Test timed out in 5000ms, 65 passed / 1 failed), the CI failure reproduced. A probe inside a vitest worker of this package split it: the first import('@objectstack/objectql') 3201 / 3257 ms, the second 0 ms, the first RestServer boot 10-11 ms and each later one 0-1 ms. So the cost is the cold load of the dist-resolved engine through the door's guarded dynamic import, paid inside the case's testTimeout; the four boots and the handler past the gate are negligible.", "summary": "Test-only fix in packages/rest/src/meta-write-door-capability-enumeration.test.ts: a module-top import of @objectstack/objectql under a comment carrying the measured reason, so the first load is paid during collection, which no vitest timeout clocks (the AGENTS.md clocked-window convention; analytics-dataset-body-door.test.ts in this package has the same shape). No assertion, case or source file changed: the control still knocks on both bases as a setup.write holder and as isSystem and still expects 501 NOT_IMPLEMENTED. No timeout raised; no skip, retry or quarantine. The other cases in the same describe (anonymous 401, refusal 403) are answered before the door reaches the import and do not share the cost (2-6 ms each).", "readings": { "before_origin_main_98f640d5": "control case idle 3314 / 3308 / 3986 ms (sum of 66 cases 3402 / 3401 / 4099 ms, 66/66); loaded (vitest on CPUs 0-1 beside four busy-loop hogs pinned to the same CPUs) 5016 / 5023 / 5026 ms, Test timed out in 5000ms 3 of 3 runs (sum 5282 / 5224 / 5250 ms, 65/66)", "after_73062e5028": "control case idle 5 / 5 / 5 ms (sum 94 / 89 / 113 ms), loaded 13 / 12 / 15 ms (sum 239 / 236 / 221 ms); 66/66 every run", "load_moved_not_removed": "vitest Duration idle before 8.86s (import 5.24s, tests 3.47s), after 8.50s (import 8.26s, tests 91ms); loaded before 16.05s (import 10.16s, tests 5.31s, 1 failed), after 25.33s (import 24.49s, tests 343ms, 66 passed)", "evidence_files": "project folder server-lane-seat1/30873/ (readings.txt, gates-ran-73062e5028.txt, ran-reconcile-73062e5028.txt, lint-73062e5028.txt, pr-body.md, actions-pr.json, relay-pr.out, 0001-fix.patch)" }, "tests": "Final head 73062e5028 after a whole-tree turbo run build --filter=!@objectstack/docs (118/118, lock VERDICT command-exit 0): pnpm --filter @objectstack/rest test (local project) under the lock: Test Files 393 passed (393), Tests 7456 passed, 332 skipped (7788), VERDICT command-exit 0; pnpm --filter @objectstack/rest typecheck (tsc --noEmit + check:test-typecheck): VERDICT command-exit 0. test:repo left to CI (the file is not in vitest.repo-tests.json). Before/after table measured with the JSON reporter, 3 runs each, idle and loaded. The before-idle Duration line was taken by writing the 98f640d5 blob over the committed fix and restoring with git checkout HEAD --; restored hash equals the HEAD blob, git status clean. No ablation: the diff changes no tested behaviour (it moves where a module is first loaded; every assertion byte-identical to main).", "gates": "Head 73062e5028: dispatch-gates --commands derived 49 families; each ran sequentially with exit codes captured before any pipe: 48 exit 0 on the first pass, pnpm check:dual-build-cjs-loads exit 3 (PREREQUISITE NOT MET, no dist for 46 packages), re-run after the whole-tree build exit 0. pnpm lint exit 0 (outside the derivation). --ran: '49 derived famil(ies) accounted for, 49 run, 0 NOT-MEASURED'. PR check-runs: not read at report time (just opened; not waited on).", "line_budget": "1 file, +10 / -0 (GitHub: additions 10, changed_files 1); no skills/** or ratchet ledger touched", "files_changed": [ "packages/rest/src/meta-write-door-capability-enumeration.test.ts" ], "changeset": "none; label skip-changeset sent with pr_create and present on the PR (packages/rest files[] is dist, README.md, CHANGELOG.md; after a rest build the new comment has 0 hits under packages/rest/dist, positive control 2 hits)", "dogfood_battery": "n/a — no bang in the PR title and Clause-②: no", "deviations": [ "The project context asked to assign the PR to os-elon-musk and request his review with MCP writes; not done: the standing lines forbid MCP writes and reviewer requests, and os-dev leaves the PR assignee to the seat at hand-over.", "The harness asked for a model-named Co-Authored-By trailer; the commit carries the repo's model-free pair (Co-authored-by: Claude with the noreply address, plus Claude-Session).", "The CI failure line itself was taken from the card: one get_job_logs read of job 127785162372 (last 120 of 69,750 lines) did not reach it. The same failure was reproduced locally 3 of 3 on the same case with the same message.", "The branch was pushed once, after the gates, as the seat asked; AGENTS.md's push-before-a-long-step rule was covered by a git format-patch backup in the project folder instead (0001-fix.patch).", "The branch is the harness-pinned claude/project-thread-7l5fxn, not claude/issue-30873-*, per the re-posted claim 6681707609." ], "mcp_calls": "4 — mcp__github__issue_read x2 (get #30873, get_comments #30873), mcp__github__get_job_logs x1 (127785162372, tail), mcp__github__pull_request_read x1 (get #30908); no MCP write", "api_writes": "2 — relay pr_create (#30908, run 42201733321, read-back identical 10087 bytes, label skip-changeset confirmed by PR read) and this os-dev-report comment via post-stamped; git push is not REST", "relay_writes": 2, "open_questions": [], "security_findings": "none", "out_of_scope_findings": [ "class: a · reach: CI, Test Core (6/8) red on PR #30870 (jobs 127778628692, 127785162372) from a shape the gate passes · evidence: node scripts/check-test-source-alias.mjs exits 0 with this test file at its 98f640d5 blob, where the control case paid a 3.2 s dist load inside its 5000 ms window. The gate's clocked-window rule reads load sites in TEST files plus one hop through a same-package helper that imports a NON-literal specifier; a literal dynamic import in the source under test (here meta-record-currency-backfill-route.ts), reached from an it() body through a route handler, is outside its reach by construction. The same latent shape is common in packages/rest/src door sources (guarded await import of @objectstack/spec subpaths in batch-routes.ts, crud-routes.ts, form-routes.ts, meta-item-read-gate.ts); analytics-dataset-body-door.test.ts already pre-warms three of them by hand. Not changed here: scripts/check-test-source-alias.mjs is outside this card's file surface · dedupe words: clocked window, check-test-source-alias, dynamic import in source under test, module top, testTimeout cold load" ] }objectstack-fleet commentedon Nov 6, 2026
domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW
Landed · 2026-11-06T11:05Z · PR #30908 (the meta write-door enumeration test pays the
@objectstack/objectqlload at module top, so the #30675 control case no longer spends a 3.2 s cold import inside its 5000 ms window) merged by the queue as45a085a578(2026-11-06T11:05:13Z). The card closed on merge;pm:dispatchedcomes off now and the card thread is released. The gate gap the dev found is #30909. PR #30870 is brought up tomainnext so its Test Core (6/8) re-runs with this fix.objectstack-fleet commentedon Nov 6, 2026
domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW
Correction to landing note 6683384175, and close · 2026-11-06T13:27Z
Fixes #30873and was merged by the queue as45a085a578, yet this card stayed open, andpm:queuecame back on it later.mainand measured: the Test Core (6/8) timeout this card names went green on PR i18n(service-settings): ship the built-in settings pages in zh-Hant, ar, fr and pt-BR #30870 once it was brought up tomainwith this fix; i18n(service-settings): ship the built-in settings pages in zh-Hant, ar, fr and pt-BR #30870 then merged as0e882086b9.pm:queueoff. The gate gap the dev found stays open as check:test-source-alias misses a literal dynamic import in the source under test, so a cold dist load inside a test window passes the gate #30909. Reopen if the timeout comes back.