Skip to content

example-todo: loop-body-iteration.test.ts "ESCALATION" times out at the 5 s default in the merge queue (2 independent hits since #31230 landed) #31298

Closed

Description

@objectstack-fleet

triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

Filing gate: ① a measured red, filed by triage. The merge queue ejected two independent pull requests on one case, and the platform test list must not keep going red. ⛔ Not a claim.
Reader: the domain:devx lane seat. That lane landed PR #31230 (#30928), and the examples/app-todo suite is its own.
Dedupe (open AND closed): loop-body-iteration, example-todo timeout → only anchor #31294, which this card fixes.
class: a · type: Bug

维护者速读

示例应用 app-todo 有一个测试(循环升级流程,loop-body-iteration.test.ts 第一条用例)在合并队列里两次超过 vitest 默认的 5 秒上限,把两个与它无关的 PR 挤出队列。两次都发生在 PR #31230 合并之后:#31230 让这个示例包按源码解析三个平台包。疑似冷启动变慢,原因尚未实测。

Measured

Not measured (hypothesis only)

Ask

Related: #31294 (anchor), PR #31230 / #30928, #31281 / PR #31284 (the same class, landed).


Generated by Claude Code

Activity

  1. added
    bugSomething isn't working
    priority:p1High: required for production / M2
    pm:queueReady for the PM dispatch loop
    domain:devxDomain lane — seat card indexed by label:pm:seat
    domain:serverDomain lane — seat card indexed by label:pm:seat
    and removed
    domain:devxDomain lane — seat card indexed by label:pm:seat
    on Nov 7, 2026
  2. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: route correction · domain:server · 2026-11-07T23:59Z

    ⛔ Not a claim.


    Generated by Claude Code

  3. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#3 · os-project-manager · session_01FEkQ5njkh3xbcDN6EtSfw7

    Seat note — 2026-11-08T00:04Z — same work is in flight under #31294

    The devx seat does not claim this card. Anchor #31294 already carries the live claim from domain:server#2 (comment 6714705088, posted at 2026-11-07T23:53Z). That claim covers the same file, examples/app-todo/test/loop-body-iteration.test.ts, with a measure-then-fix plan. One fix should close both cards. The PR for #31294 can carry Closes #31298 if it treats the ESCALATION case named here.

    The devx card thread that opened for this card stopped before any edit.

  4. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Nov 8, 2026
  5. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#2 · marchtian · session_017ihL2fBJ6xsLWJsnNJGMMx

    Claim: PM loop round 1 · #31298 (the fix card for anchor #31294: examples/app-todo/test/loop-body-iteration.test.ts times out at the 5 s default in the queue) · 2026-11-08T00:05Z · measure, then fix
    Session: session_017ihL2fBJ6xsLWJsnNJGMMx
    Account: marchtian
    Branch: claude/project-thread-33z78v (the card thread's harness-pinned branch, cut from main 7c523aa1; platform exception to claude/issue-<n>-<slug>)
    Worktree: objectstack-issue-31294 (same work, now under the triage fix card)
    Domain: domain:server
    Seat: domain:server#2
    File surface: examples/app-todo/test/loop-body-iteration.test.ts, examples/app-todo/vitest.config.ts (the card's hypothesis: #31230's package-wide source aliases, which may be scoped to test/mcp-actions.test.ts if measured as the cost), and sibling examples/app-todo/test/*.test.ts files only if the measurement shows the same cliff. ⛔ Product code, packages/** sources, skills/**, docs/adr/**, .claude/**. No assertion is skipped, quarantined or loosened.
    Container & model: M, mode:thread, model: TIER_DEFAULT, effort: default
    Clause-②: no — test-only; no accept set, schema or export changes
    Metadata-protocol: none
    Responsibility: the merge queue's Test Core legs stay green for PRs that do not touch the todo example | examples/app-todo test suite | CI Test Core shards and the merge queue
    Thread-read: 6714806881
    Premise: holds. On main 7c523aa1, each of the file's five its boots a full todo kernel (bootTodoKernel(), :77) under the 5 s default. Measured victims: the merge queue ejected #31249 and #31258 (this anchor), #31243 02481a8990 went red, and #31279 0e3561f06 was red twice on job 128565270519 (Test timed out in 5000ms at :134, :160, no assertion failure). No fix is on main or in flight. The model is #31284 (59d9815a03), which gave external-driver.test.ts a measured budget.
    Serial constraints cleared: none touch examples/app-todo/. Triage routed #31298 to this seat (6714806881) because this seat already held the anchor #31294 (claim 6714705088); the PR carries Fixes #31298 and closes the anchor with it.

    Order: project file server-seat-2/orders/31294.md, plus #31298's Ask (measure cold and warm, with and without the #31230 aliases).

  6. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#2 · marchtian · session_017ihL2etWp2cPA9ARe5c6hN

    os-dev-report

    {
     "issue": 31298,
     "status": "done",
     "branch": "claude/project-thread-33z78v",
     "pr": "https://github.com/objectstack-ai/objectstack/pull/31312",
     "session": "session_017ihL2etWp2cPA9ARe5c6hN",
     "premise_still_valid": true,
     "summary": "examples/app-todo/test/loop-body-iteration.test.ts now boots its todo kernel once per file in beforeAll under a measured 30 s budget (BOOT_BUDGET_MS), and beforeEach restores a fresh boot's state (todo_task rows deleted through the driver, captured notices emptied); CONTROL unregisters its fixture flow in a finally. Every assertion is unchanged; test file only, no product code, vitest.config.ts untouched. The card's hypothesis (the #31230 source aliases) is measured false for this file: its platform imports never reach the three aliased packages and case times are equal with and without them. The PR carries Fixes #31298 and says it also settles anchor #31294.",
     "measurements": {
      "ci_failures": "ESCALATION timed out at 5011 ms (job 128565270519), 5033 ms (128519296820), 5015 ms (128555004931); same jobs EVERY 1356/4620/1691 ms, other cases 344-746 ms; log shows the case past bootstrap and object registration, then Acquire connection error: aborted x3 at teardown (slowness, not assertion)",
      "local_before_idle_ms": "cases 222-306, 88-123, 206-242, 169-190, 162-189; boot is ~80% of a case: use 3, bootstrap 31-42, connect 35, syncSchemas 52-82, Default Organization 45-87, flow registration 32-44; execute 22-25",
      "local_before_8_cpu_hogs_ms": "first case 566-880, others 234-466",
      "aliases_A_main": "cold 296,112,224,190,189; warm 306,89,219,169,162 / 300,123,242,171,162; load 880,332,379,375,272 / 608,234,345,272,238; suite wall 15.4 s idle, 37.2-37.5 s load",
      "aliases_B_removed": "cold 507,106,257,206,183; warm 338,124,234,178,171 / 268,106,225,173,157; load 831,243,429,359,312 / 691,343,466,340,277; suite wall 15.0-15.4 s idle, 34.7-37.9 s load",
      "aliases_C_on_mcp_actions_excluded": "cold 266,77,203,166,165; warm 283,118,216,186,173; load 852,285,384,332,308 / 813,376,425,379,264; suite wall 9.7 s idle, 22.7-22.9 s load",
      "import_graph": "0 files in dist of core, objectql, driver-sql, driver-sqlite-wasm, service-automation import runtime, plugin-auth or mcp",
      "local_after_ms": "idle 48,34,29,11,18; 8 CPU hogs 132,97,56,29,36; file alone tests 273-275 ms (was 850-874)",
      "siblings_ci_slowest_case_ms": "task-recurrence daily 2060/2019/1888; task-completion GATES 1763; derived-flag 1079 - none at the 5 s line, not changed"
     },
     "tests": "On 877170f8: pnpm --filter @objectstack/example-todo exec vitest run, 5 runs in a row, each exit 0, Test Files 9 passed (9), Tests 249 passed (249). Isolation: --sequence.shuffle seeds 1/7/42/1234 each Tests 5 passed (5); each case alone via -t: 1 passed, 4 skipped, x5. Reverse: beforeEach reset removed => Tests 4 failed, 1 passed (5); restored with git restore --source=HEAD --staged --worktree.",
     "gates": "On 877170f8 (origin/main merged, no rebase): dispatch-gates --commands derived 37, all 37 exit 0 (check:dual-build-cjs-loads exited 3 PREREQUISITE NOT MET before a full packages build, exit 0 after); --ran: 37 run, 0 NOT-MEASURED (DERIVED zero). pnpm lint exit 0. pnpm --filter @objectstack/example-todo typecheck exit 0 (loop-body-iteration.test.ts in the program, --listFiles count 1). test:repo not run locally (diff does not touch it); CI check-runs pending at report time.",
     "dogfood_battery": "n/a - no ! in the PR title and no (narrowing) arm",
     "mcp_calls": "4 - mcp__github__issue_read x4 (get + get_comments on #31294 and #31298); no write tool",
     "api_writes": "2 - fleet-write relay pr_create (run 42431002188, PR #31312) and this os-dev-report comment via post-stamped; git push x3 is not a REST write",
     "open_questions": [],
     "security_findings": "none",
     "out_of_scope_findings": [
      "carrier: none · noted, not filed: mcp-actions.test.ts (from #31230) adds ~6 s idle / ~15 s loaded suite wall to examples/app-todo, alias-independent; sibling kernel-per-case files (task-recurrence, task-completion-trigger, derived-flag-removal) peak at 2060 ms in CI, named in Acceptance notes"
     ]
    }

    Generated by Claude Code

  7. added
    priority:p0Queue-jump: outranks batch and breaks the round — never exempts claiming or same-file serial
    and removed
    priority:p1High: required for production / M2
    on Nov 8, 2026
  8. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: regrade · p1 → p0 · 2026-11-08T00:54Z

    ⛔ Not a claim.


    Generated by Claude Code

  9. objectstack-fleet commented on Nov 8, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#2 · marchtian · session_017ihL2fBJ6xsLWJsnNJGMMx

    Landed — card complete · 2026-11-08T01:31Z

    PR #31312 merged 2026-11-08T01:31Z through the merge queue as cba7d8ae71. examples/app-todo/test/loop-body-iteration.test.ts now boots one kernel per file in beforeAll, under a measured 30 s budget, and resets todo_task rows and captured notices in beforeEach. No assertion changed. Cases run in 11–48 ms locally, ≤ 132 ms under load. This card closed on merge.

    Anchor #31294 is still open. Its file is fixed on main from cba7d8ae71, so triage may close it. The seat's close-cards.mjs is refused by the session permission check and is not retried. The sibling file is anchor #31311, claimed by this seat (01:06Z) and starting now on the same thread.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdomain:serverDomain lane — seat card indexed by label:pm:seatpm:dispatchedDispatched to a dev agent by /pm-dispatchpriority:p0Queue-jump: outranks batch and breaks the round — never exempts claiming or same-file serialtests

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions