Skip to content

test determinism: the idle-probe test's setTimeout calls are its input, not a sleep (base red after #34155) - #34259

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
fix--determinism-idle-probe
Nov 3, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
fix--determinism-idle-probe

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Base red fix: cmux-next CI guard group → workflow-guard-tests / quality-determinism: Validate test determinism gate is red on feat-cmux-next, for example https://github.com/manaflow-ai/cmux/actions/runs/41722291773:

webviews/test/agent-pane-idle-probe.test.ts:31: sleep-then-assert: window.setTimeout(() => undefined, 5);
webviews/test/agent-pane-idle-probe.test.ts:32: sleep-then-assert: window.setTimeout(() => undefined, 5);
test-determinism: 2 active finding(s), 406 allowlisted, 408 total

#34155 (755e54b) added that test. These two calls don't make the test wait for state. They are what idleProbe counts: the test asserts the probe saw exactly 2 timeouts and restored setTimeout. That makes the finding a false positive, so the file gets an allowlist line with that reason. Nothing in the test is changed.

Tests: python3 scripts/check-test-determinism.py on the fleet (cmux-ci test).

Agent session: agent session

🤖 Generated with Claude Code


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes the determinism check that went red on feat-cmux-next after #34155 added the idle-probe test. The two setTimeout calls the gate flagged aren't sleeps — they're the input idleProbe counts, so the test asserts on them. Adds an allowlist entry with that reason; no test code changes.

Written for commit 352904b. Summary will update on new commits.

View guided diff Turn on auto-fix

…t, not a sleep

#34155 (755e54b) added webviews/test/agent-pane-idle-probe.test.ts, whose
two window.setTimeout(() => undefined, 5) calls are what idleProbe counts. The
gate read them as sleep-then-assert and turned 'Validate test determinism gate'
red on feat-cmux-next.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 352904b: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr34259 -f ref=fix--determinism-idle-probe -f platform=macos -f backend_mode=local

red: cmux-next page strings generate; base red: the same failure on the base 43c9bee; does not block

Shipped in:

The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/41725135574 at f3a4bab failed: cmux-next checks (god files, concurrency, crash safety, l10n), cmux-next web bundles (source-keyed cache).
Those jobs last passed at c874cb9. This pull request is one of 5 merged since: #34198, #34260, #34259, #34251, #34250.
If the failure is in your change, fix forward on feat-cmux-next. Pull requests run only the tiers their paths reach (docs/ci/cmux-next-tiers.md); label a batch PR full-ci to run them all before merging.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent claude-opus-5-5 medium): SHIP at 352904b
Visual verdict: unchanged by this diff
Checked the one added allowlist line against webviews/test/agent-pane-idle-probe.test.ts on feat-cmux-next: the two window.setTimeout(() => undefined, 5) calls are the timers the probe counts by call site (the assertion is on result.timeouts count == 2, awaited from the probe's own promise), not a wait for state before an assertion, so the sleep-then-assert match is a false positive. The line is tab-separated path, rule, reason like the rest of the file, and it is the only change.
Follow-ups: none

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

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant