fix: bound container resources and harden failure cleanup - #103
Open
keethliu wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Heavy Agent tasks currently share an unbounded application container, status probes can leave descendants behind after a timeout, and a failed terminal transaction can leave a Run failed while its step still says running.
Update operator documentation and the in-app FAQ. Full E2E validation also exposed existing assertions that had drifted from login redirects and list rendering; align those assertions without changing the corresponding product behavior.
Type of change
Testing checklist
pnpm lint: 0 errors, 751 existing warnings (752 on the base branch; no new warnings).pnpm typecheck: API, CLI, web, and shared packages pass.pnpm test: 10,030 passed, 5 existing platform/conditional skips. Regression tests were observed failing before the production fixes.pnpm test:e2e: 191 passed, 16 existing conditional skips; no failures.pnpm test:e2e:recovery: all 4 restart-recovery scenarios pass.pnpm test:e2e:onboarding: fresh clone, installation, first startup/setup/login, and shutdown pass.AI assistance disclosure
This change was developed and reviewed with Codex assistance. The automated checks above were executed against the changed source.
Upgrade notes
The limits cover the entire application container, including all Agents and tool children. Heavy workloads may need larger operator-selected budgets; database sidecars and other services need their own budgets.
Existing CLI installs preserve their Compose file during image upgrades and must add the documented resource fields once. Drain active tasks, validate Compose configuration, and recreate the container to apply limits. Pulling an image or restarting the API alone does not apply Docker resource settings. Native/PM2 deployments require equivalent systemd/cgroup limits.
No database schema migration is required.