Repository navigation
fix(computer): leave a build unverified, not failed, when a setting it boots with doesn't resolve - #529
Merged
Conversation
…t boots with doesn't resolve A deploy without a required env: or secret: setting was recorded as the build failing at the probe, though nothing was booted, so later deploys refused the build until it was rebuilt. The build now stays unverified with the reason, and a later compose probes it once the setting resolves. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ting it A container left unverified, because a setting it boots with didn't resolve when it was probed, was refused by every deploy that doesn't compose (`env deploy`, a stored task's run) until `env build`. A deploy now composes it again first when its provider runs it natively, reusing its image and probing it, and deploys it only once ready; a deploy whose setting still doesn't resolve is refused with that container's reason. Disks and VM bundles are unchanged: their first boot probes them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…er arch's build is ready A ready build of an arch the deploy's provider can't run let the deploy past the refusal that names an unprobed container's reason, and it then failed only with "runs none of its ready builds natively", hiding the missing setting. When no ready build runs natively and a native container is unprobed, the deploy is refused with that container's reason. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6 of 22 tasks
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
A deploy whose required setting doesn't resolve (an
env:orsecret:reference with no value here) recorded the build as failing at the probe: "it didn't boot: Unresolved env:… reference". Nothing had been booted, and later deploys then refused the build (DeployRefused … 'failed') until it was rebuilt withenv build.The cause:
_proberesolves the boot settings before booting, andcheckedtreated every exception as a failed boot.Now:
_proberaisesUnprobedwhen a setting doesn't resolve (ConfigError), booting nothing.checkedleaves the buildunverified, with the reason "not probed: a setting it boots with didn't resolve here: …".bundle registerorenv buildprobes it once the setting resolves.A deploy that doesn't compose (
env deploy, a stored task's run) now composes such a container again first, when its provider runs it natively. It reuses the image, probes it, and deploys it only onceready. A deploy whose setting still doesn't resolve is refused with that container's reason. Disks and VM bundles are unchanged: their first boot probes them.Test plan
New unit test, using the real
_probewith an app secrettoken = "env:MAIL_TOKEN". Without the variable the build isunverified, with that reason, and pending. With it set, a compose reachesreadyfrom the same image. It fails onmain('failed' != 'unverified').Follow-up (
bebb0174), two new tests that fail on the first commit:test_a_computer_env_with_no_ready_build_is_refused…is unchanged and passes. Unit tier: 13755 passed, with the same 3 host-specific failures asmain.test_computer_env.py(70 selected) passes.On an arm64 Linux host, follow-up: a deploy without the variable is refused with the reason; then
agent-env env deploywith it set probes the same image (unverified→ready) and deploys.On an arm64 Linux host: the run without the variable now records
unverified: not probed …. With it set, the build is reused, becomes ready in 17 s, and the task deploys.ruff checkis clean.🤖 Generated with Claude Code


Confidence Score: 5/5
The PR appears safe to merge; the latest change fixes the hidden refusal reason without excluding usable builds.Summary
Missing boot settings now leave builds
unverifiedrather thanfailed. Later deploys can reuse and probe the image.Diagram
%%{init: {'theme': 'neutral'}}%% flowchart TD A[Build or reuse image] --> B[Resolve boot settings] B -->|Missing value| C[Leave build unverified with reason] C --> D[Later compose or deploy retries] D --> B B -->|Settings resolve| E[Boot and probe] E -->|Pass| F[Mark ready] E -->|Fail| G[Mark failed] F --> H[Deploy on a supported provider]Reviews (8) · Last reviewed commit: "fix(computer): say why a native containe..." · Reviewed by Greptile