🧹 feat: Bound Managed Environment Storage - #289
Merged
Merged
Conversation
danny-avila
force-pushed
the
danny-avila/environment-storage-lifecycle
branch
from
October 2, 2026 02:57
d850f99 to
39a7893
Compare
danny-avila
added this pull request to stack #290
October 2, 2026 03:06
danny-avila
force-pushed
the
danny-avila/dependency-snapshots
branch
from
October 2, 2026 03:11
ea00213 to
94e7069
Compare
danny-avila
force-pushed
the
danny-avila/environment-storage-lifecycle
branch
from
October 2, 2026 03:11
39a7893 to
5a2a42b
Compare
danny-avila
removed this pull request from stack #290
October 2, 2026 03:13
danny-avila
force-pushed
the
danny-avila/dependency-snapshots
branch
from
October 2, 2026 03:23
94e7069 to
491f3f3
Compare
danny-avila
force-pushed
the
danny-avila/environment-storage-lifecycle
branch
from
October 2, 2026 03:23
5a2a42b to
1b22ce3
Compare
danny-avila
added this pull request to stack #292
October 2, 2026 11:23
danny-avila
force-pushed
the
danny-avila/dependency-snapshots
branch
from
October 2, 2026 11:28
491f3f3 to
7241de1
Compare
danny-avila
force-pushed
the
danny-avila/environment-storage-lifecycle
branch
from
October 2, 2026 11:28
1b22ce3 to
f9818dd
Compare
danny-avila
removed this pull request from stack #292
October 2, 2026 11:37
danny-avila
force-pushed
the
danny-avila/environment-storage-lifecycle
branch
from
October 2, 2026 11:42
f9818dd to
e6dbca5
Compare
danny-avila
changed the base branch from
danny-avila/dependency-snapshots
to
main
October 2, 2026 11:42
This was referenced Oct 2, 2026
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
Dependency reuse without a lifecycle still accumulates old versions, and low disk can interrupt installation before the worker persists its recovery state. Add opt-in snapshot retention/count/byte budgets and a free-space admission floor for managed preparation, including workers without snapshot support.
Behavior
--applyperforms maintenance without restarting the worker.Kernel try-locks are non-blocking and do not mask cleanup errors as contention. Budget checking and publication share the maintenance lock, while installations for independent keys remain concurrent. Abandoned staging needs both a manifest and a free owner-key lock.
Stacked on #288. All settings are opt-in; existing environment definitions retain their behavior. Budgets count logical snapshot payload, not reflink physical allocation or working checkout copies. Free-space checks are soft admission, not disk reservations or arbitrary shell-write quotas. This deliberately does not delete
.verification, source worktrees, dirty/unpushed changes, unknown installs or shared mutable npm/uv caches; those need their own ownership/usage lifecycle. Hard containment requires deployment filesystem quotas and separate control-state storage.Verification
git diff --checkpassed.No live worker, deployment, filesystem quota or production cleanup was changed.