Repository navigation
hookd: 馃悰 Give package-install's tool-env download its own budget - #312
Merged
Merged
Conversation
yasyf
force-pushed
the
installer-narrate
branch
from
October 5, 2026 06:32
ce6c830 to
cdaef58
Compare
yasyf
force-pushed
the
installer-narrate
branch
from
October 5, 2026 06:53
cdaef58 to
37a9f15
Compare
package-install resolved the capt-hook tool env under the same 3-minute context as the rest of the install, so on a slow link the 89 MiB claude-agent-sdk wheel outlasted it and the context SIGKILLed `uv tool install`, leaving the host on its previous build. The tool env now runs first under its own 15-minute deadline, and the 3-minute lifecycle budget starts only once it is in place, still bounding quiesce, supersede, activation, and the broker ping.
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.
Stacked on #311 (base:
installer-narrate).Context
On 2026-10-04, the 20:42 PDT background update fetched 12.87.6 into Homebrew's Cellar but left
the host on 12.60.0. At 20:45:46,
uv tool install capt-hook==12.87.6failed withsignal: killedwhile downloading the 89 MiBclaude-agent-sdkwheel. Tool-environment setupshared package-install's single 3-minute context with deployment. Two later attempts reported
error: FailedandRequest failed after 3 retries. The plugin then advanced ahead of the host,triggering the version-skew lockout addressed at the bottom of this stack.
Summary
internal/hookd/command.gointroducespackageToolEnvTimeoutandinstallPackage:resolve the tool environment under a 15-minute budget, then start the existing 3-minute
lifecycle budget.
internal/hookd/manager.goprovidesinstallProductToolEnv; Darwin and Linux deploymentpaths no longer resolve the environment inside their lifecycle context.
ping retain their 3-minute bound, so the disruption window does not grow. No retries are added.
up to 3 minutes to restart the host.
Testing
Verified on the owner's machine, 2026-10-04:
TestPackageInstallStartsTheLifecycleBudgetAfterASlowToolEnvpasses with separate budgetsand fails when tool-environment setup returns to the 3-minute lifecycle budget.
go test ./internal/hookd.go veton Darwin and withGOOS=linux.