Repository navigation
fix(cloud): a new cloud chat opens even when its project's setup fails, and says so - #201
Open
andrewcai8 wants to merge 4 commits into
Open
andrewcai8 wants to merge 4 commits into
andrewcai8 wants to merge 4 commits into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s, and says so A new chat's first preparation failed outright when one of its repository's prepare commands failed, so a repository whose setup broke upstream could not open any new cloud chat. Only a chat that had already prepared once tolerated it. Every preparation the manager makes for a chat now sends forChat to the guest. A chat's failing prepare commands are reported the way a prepared root's already were: the rest still run, the masked failures join refreshError and setup-failure.log, the T3 server starts, and the agent's cloud machine note points at the log. A warm base or spare build stays fatal. The manager recognises one as the request its repository's warm base or spare record names as the build in progress, and the E2B seal rehearsal and Namespace Mac template builders never send forChat. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…stead of failing its open Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
This branch has not been deployed
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.
A new cloud chat failed to open when one of its repository's prepare commands failed ("Environment setup failed: Remote preparation failed: Preparation command failed ..."). Since #198 a chat that had prepared once tolerated a failing setup, but a chat's first preparation stayed fatal. So when megpt-mono's setup broke upstream (a query generated against a production Gel migration that has not shipped yet), no new chat could open at all.
Every preparation the manager makes for a chat now sends
forChatto the guest. A chat's failing prepare commands are then handled the way a prepared root's already were. The remaining commands still run, and the masked failures joinrefreshError(logged on the host as a warning) andsetup-failure.login the box's T3 home. The T3 server starts, and the agent's cloud machine note quotes the log.forChatis left out of the guest's intent hash, likesetup.Warm base and spare builds stay fatal, so a broken setup is never sealed into something later chats share:
preparinginEnvironmentControlleavesforChatoff when the request is the build in progress that its repository's warm base (E2B) or spare (Namespace) record names (isBaseBuildinwarmBases.ts). That record is saved before the build is driven, and only that build is ever sealed.forChat.builder, which already drops the chat's setup. They now dropforChattoo.The guest's default is still fatal, so any preparation path that misses the flag fails the safe way.
Tests:
remotePreparation.test.ts: a new chat whose first setup command fails opens withrefreshError, writessetup-failure.log, runs the next command, and starts its server. Committed first and failing (Remote preparation failed: Preparation command failed: deps broke). The existing fatal test, renamed to cover warm base and spare builds, still refuses on every retry. The prepared-root tests from fix(cloud): a chat whose project setup fails still gets T3 updates #198 are unchanged.warmBases.test.ts:isBaseBuildagainst real stores tells the spare build from a chat, from the same request on the other provider, and from a request with no repository.Claude Opus 5.5 via Claude Code.
🤖 Generated with Claude Code