goal-batch/goalify/GOAL_COMMAND: resource hygiene for autonomous fan-out - #288
Merged
Merged
Conversation
Parallel-work guidance cleans up its OWN orchestration artifacts (worktrees/branches/tmux) but is blind to resources the work units CREATE (containers, VMs, background servers, environments), and per-unit bounds (turns/wall-clock) do not bound cumulative resource accumulation. Close that gap across the three surfaces that shape autonomous runs. goal-batch SKILL.md: - Phase 1: clarify "no lane cap" governs LANES, not the resources lanes create; those need a cumulative batch-wide ceiling tracked in an orchestrator-owned ledger, since each lane sees only its own usage. - Phase 3: each lane's goal must enumerate non-git resources it provisions and include teardown (or explicit handoff) in its own DONE criteria; add resources[] to the DONE.json field list. - Phase 7: orchestrator verifies teardown as part of landing and extends the orphan sweep beyond tmux (docker ps / incus list / process list). goalify SKILL.md: - Add lint check L7: a goal that provisions infrastructure must include teardown-complete (or explicit handoff) in DONE; resources left running and unowned is abandoned, not finished. docs/GOAL_COMMAND.md: - In "What the cap does NOT bound": turn and wall-clock caps do not bound resources spawned by the work; unattended runs that provision anything need an external resource ledger and ceiling. 🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier) Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
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.
Why
Postmortem (2026-08-29) of a runaway autonomous fan-out: parallel work created 126 containers over 3 days with no teardown, no cumulative ledger, and no cap — the host hit 100% disk and stalled.
The gap is a pattern, not a one-off:
This PR closes that gap across the three surfaces that shape autonomous runs.
What changed
amplifier_app_cli/data/skills/goal-batch/SKILL.mdresources[]added to theDONE.jsonfield list.resources[]; the orchestrator verifies teardown as part of landing, and the orphan sweep extends beyond tmux (docker ps/incus list/ process list) for survivors tied to the batch.amplifier_app_cli/data/skills/goalify/SKILL.mddocs/GOAL_COMMAND.mdNotes
docker,incus,tmux) are used for illustration only.🤖 Generated with Amplifier