Skip to content

fix(mount): scale flush timeout per exact root - #37

Merged
khaliqgant merged 2 commits into
mainfrom
fix/scale-multi-root-flush-timeout-0823
Aug 23, 2026
Merged

fix(mount): scale flush timeout per exact root#37
khaliqgant merged 2 commits into
mainfrom
fix/scale-multi-root-flush-timeout-0823

Conversation

@khaliqgant

@khaliqgant khaliqgant commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

  • scale the default SandboxOrchestrator.flushMount runtime timeout by the effective exact-layout root count
  • preserve an explicit FlushMountOptions.timeoutMs as a caller-owned whole-operation deadline
  • preserve the one-root/pathless 120-second default behavior
  • bump the explicit release version to 0.1.9

Why

#36 made the generated multi-root flush shell attempt every root and preserve the first failure. The orchestrator still wrapped that sequential shell in one fixed default 120-second runtime timeout. An early root could consume that budget and cause the runtime to terminate the shell before later roots ran, defeating the all-roots teardown contract one layer above the corrected shell.

Cloud has the same vendored method, and packages/web/lib/fleet/sandbox-bridge.ts also consumes this package. See AgentWorkforce/cloud#3143 and AgentWorkforce/cloud#3145.

Regression proof

Before the production change, the new three-root default test failed with 120000 !== 360000, while the pathless control passed at 120000. After the fix:

  • pathless default: 120,000 ms
  • three-root default: 360,000 ms
  • explicit whole-operation override: preserved exactly
  • targeted timeout tests: 2/2 pass
  • full suite on the implementation change: 772 total, 763 pass, 9 skip, 0 fail
  • typecheck: pass after the explicit-deadline refinement
  • package build/smoke: pass on the implementation change
  • git diff --check: pass

Release

package.json and both package-lock version fields are 0.1.9, matching the explicit release workflow contract. Do not publish until this PR is merged and release review is complete.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 31 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 26b3c7a3-d580-49e6-ae2b-bac16a588d1d

📥 Commits

Reviewing files that changed from the base of the PR and between 8a7db8e and 7579526.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (3)
  • package.json
  • src/orchestrator.flush-mount.test.ts
  • src/orchestrator.ts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@khaliqgant

Copy link
Copy Markdown
Member Author

@codex review

Please focus on whether the outer runtime timeout now matches the number of sequential exact-root flush commands, including pathless and explicit-timeout semantics.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@khaliqgant

Copy link
Copy Markdown
Member Author

Exact-head contract refinement at 7579526be7f5c1b13c3f6394638ccff3b1ed72eb: the scaled budget applies only to the default; an explicit timeoutMs remains an authoritative whole-operation deadline. This matches the Cloud vendored twin and avoids silently expanding a caller-owned lease. Targeted tests and typecheck are green on this head; fresh CI is running.

@khaliqgant

Copy link
Copy Markdown
Member Author

Exact-head local gate on 7579526be7f5c1b13c3f6394638ccff3b1ed72eb: full suite 772 total / 763 pass / 9 skip / 0 fail; package build and smoke pass; typecheck and diff check pass. The automated reviewers are rate-limited (CodeRabbit) or out of credits (Codex), so those status entries are explicitly no review signal.

@khaliqgant
khaliqgant merged commit a8a9d1e into main Aug 23, 2026
4 checks passed
@khaliqgant
khaliqgant deleted the fix/scale-multi-root-flush-timeout-0823 branch August 23, 2026 22:34
@khaliqgant
khaliqgant restored the fix/scale-multi-root-flush-timeout-0823 branch August 24, 2026 06:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant