From 01efd3f4f7f7a9eebeeeb974d99938ff3848be2e Mon Sep 17 00:00:00 2001 From: Dotta Date: Sun, 25 Oct 2026 17:43:01 -0500 Subject: [PATCH] test(server): await review-check startup quiescence Co-Authored-By: Paperclip --- doc/plans/2026-10-24-recurring-server-sleep-stack.md | 7 +++++++ .../2026-10-25-github-review-check-sleep-audit.md | 11 +++++++++++ .../src/__tests__/chat-channels.integration.test.ts | 3 ++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/doc/plans/2026-10-24-recurring-server-sleep-stack.md b/doc/plans/2026-10-24-recurring-server-sleep-stack.md index 4d13740dbff..7db1b407cd9 100644 --- a/doc/plans/2026-10-24-recurring-server-sleep-stack.md +++ b/doc/plans/2026-10-24-recurring-server-sleep-stack.md @@ -1980,3 +1980,10 @@ chat cases and all 16 login-cleanup tests; full/new-head verification is require The earlier cancellation browser failures were not reproduced in six local replays. #17490 and #17572 remain unresolved gates, not inferred green from that negative result. The next untouched duty remains late stale-head projection repair. + +Slice 36 follow-up: all 53 remote checks and fresh 5/5 review passed on +`59f8c8b3e5`. The second local full run had one startup-quiescence assertion +failure and 1,581 passes. Waiting for the actual quiet condition fixes that +fixture; all 211 GitHub workflow tests pass after the change. Fresh remote gates +for the fixture-only commit remain required. The next slice may build on this +commit while those independent gates run; no stack merge is authorized. diff --git a/doc/plans/2026-10-25-github-review-check-sleep-audit.md b/doc/plans/2026-10-25-github-review-check-sleep-audit.md index 751dbcc75e2..30f0cb2bcdb 100644 --- a/doc/plans/2026-10-25-github-review-check-sleep-audit.md +++ b/doc/plans/2026-10-25-github-review-check-sleep-audit.md @@ -148,3 +148,14 @@ hypothesis also did not reproduce a cycle. These are negative diagnostic results not a fix for #17490 or #17572. An initial database-name collision stopped setup; the existing database was preserved and a newly named disposable database was used instead. No blind CI rerun was consumed. + +The second complete local run finished with 1,581 passes and one failure in +541.48 seconds. The remaining assertion checked no deadline immediately after +`ready`, which awaits the first pass, not a later coalesced wake. Fixture teardown +already retires unfinished rows. Startup quiet now waits for both zero active +work and no deadline, matching the strengthened post-delivery assertion. The +complete GitHub workflow selection then passed all 211 tests in 187.16 seconds +in a new database. No production behavior changed. Head `59f8c8b3e5` has all 53 +remote checks passing and fresh Greptile 5/5 with zero review threads. The new +fixture-only commit requires its own fresh remote checks; the two local full +runs are not reported as passes. diff --git a/server/src/__tests__/chat-channels.integration.test.ts b/server/src/__tests__/chat-channels.integration.test.ts index b711953f115..83f0ff3f29a 100644 --- a/server/src/__tests__/chat-channels.integration.test.ts +++ b/server/src/__tests__/chat-channels.integration.test.ts @@ -6652,7 +6652,8 @@ describeEmbeddedPostgres("chat channel control-plane integration", () => { const coordinator = createDeliveryWorkCoordinator({ owner: db, canRun: () => true, onError: error => errors.push(error) }); try { await f.checks.registerCheckWork(coordinator, () => true).ready; - expect(coordinator.nextWakeAt()).toBeNull(); + await expect.poll(() => ({ active: idleWorkSnapshot().active, next: coordinator.nextWakeAt() }), + { timeout: 5000 }).toEqual({ active: 0, next: null }); await f.enqueue(); await expect.poll(async () => (await f.action())?.status, { timeout: 5000 }).toBe("processed"); await expect.poll(() => ({ active: idleWorkSnapshot().active, next: coordinator.nextWakeAt() }),