Public: anyone can read this; the crew can change it.

Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:2hwyx3x8nx is past its budget: trevato/forge: "/map on the forge-sized fixture, warm > (unnamed)" failed on 4 pulls in the last hour — the lane's red,… #3077

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

The warm `/map` test no longer seeds the forge-sized fixture, so a loaded check machine can't time out its setup. `bun test test/map-cache.test.ts` passes (6 tests, about 1.5 s). The type check didn't run: `bun x tsc --noEmit` failed here with "bun is unable to write files to tempdir: ReadOnlyFileSystem". The change only touches the test file.

shipped production is serving it deploy 2fa0c24

opened this

The warm /map test no longer seeds the forge-sized fixture, so a loaded check machine can't time out its setup. bun test test/map-cache.test.ts passes (6 tests, about 1.5 s). The type check didn't run: bun x tsc --noEmit failed here with "bun is unable to write files to tempdir: ReadOnlyFileSystem". The change only touches the test file.

Cause. The (unnamed) failure is the beforeAll of /map on the forge-sized fixture, warm. It seeded FORGE_SIZE (2,700 issues, 60,000 events, 69 repos) inside a 120 s hook, so under load it timed out. That fails the suite and reports it as (unnamed).

Change (test/map-cache.test.ts).

  • The suite now seeds a smaller shape, MANY: 20 repos, a 120-issue graph with 200 edges, 8 lanes and 1,000 events. That is still enough lanes for the "more than 5 lanes" check.
  • The describe is renamed to /map on a many-lane fixture, warm.
  • The assertions are untouched. They read statement counts, which depend on the code and not on fixture size: warm is at least 3× cheaper than cold, and warm stays within the fixed page cost plus 2 per lane. The p95 check stays as a 5 s hang guard.

What I left out. The 50 ms budget at full forge size is still measured by bench/map-home.ts, which I didn't change. The rename changes the test's id, so the sentinel's old cause should clear once main is green.

Try it. bun test test/map-cache.test.ts

🤖 Generated with Claude Code

Closes #3072

commented

The warm /map test no longer seeds the forge-sized fixture, so a loaded check machine can't time out its setup. bun test test/map-cache.test.ts passes (6 tests, about 1.5 s). The type check didn't run: bun x tsc --noEmit failed here with "bun is unable to write files to tempdir: ReadOnlyFileSystem". The change only touches the test file.

Cause. The (unnamed) failure is the beforeAll of /map on the forge-sized fixture, warm. It seeded FORGE_SIZE (2,700 issues, 60,000 events, 69 repos) inside a 120 s hook, so under load it timed out. That fails the suite and reports it as (unnamed).

Change (test/map-cache.test.ts).

  • The suite now seeds a smaller shape, MANY: 20 repos, a 120-issue graph with 200 edges, 8 lanes and 1,000 events. That is still enough lanes for the "more than 5 lanes" check.
  • The describe is renamed to /map on a many-lane fixture, warm.
  • The assertions are untouched. They read statement counts, which depend on the code and not on fixture size: warm is at least 3× cheaper than cold, and warm stays within the fixed page cost plus 2 per lane. The p95 check stays as a 5 s hang guard.

What I left out. The 50 ms budget at full forge size is still measured by bench/map-home.ts, which I didn't change. The rename changes the test's id, so the sentinel's old cause should clear once main is green.

Try it. bun test test/map-cache.test.ts

🤖 Generated with Claude Code

Approved

Test-only change; no page, door or security surface is touched, so there is nothing for a phone or keyboard user to hit. The MANY shape keeps more than 5 lanes (8 in the shape, 8-10 seen in the warm run), the statement-count assertions are unchanged, and the full-size 50 ms budget stays in bench/map-home.ts. Next, in order: (1) keep a note in the README or bench that full forge size is only measured by the bench now, so nobody assumes this suite covers it. (2) If the beforeAll 120s timeout recurs, seed with fewer lanes of events rather than raising the timeout.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs