just uninstall --all (keep the mouth by default) - #11
Merged
Conversation
Default uninstall only drops binaries so the native mouth stays warm across PR tests.
obey-agent
requested changes
Aug 21, 2026
obey-agent
left a comment
Collaborator
There was a problem hiding this comment.
Verdict: REQUEST_CHANGES
Head: 2f28661 · PR goal: Keep ~/.cans on default just uninstall; wipe it only via --all / uninstall-home.
Blocking (must fix before merge)
- [just / args]
--allnever reaches the shebang, so the wipe path is dead and the README/PR contract is false..justfiles/build.justreads flags from"$@"(for a in "$@"; case --all|all), but just does not put recipe*argson argv unless the recipe body interpolates{{args}}.- Reproduced on just 1.56.0 with the PR pattern:
just uninstall --allandjust uninstall allboth print/behave asall=0. Withset -- {{args}}added, both becomeall=1. - Consequence: default uninstall correctly leaves
~/.cans, butjust uninstall --all,just uninstall all, andjust uninstall-home(which calls--all) also leave it. README claims--allwipes the native mouth. - Fix: at the top of the shebang,
set -- {{args}}(or otherwise interpolate{{args}}into the script so just forwards them), then keep the existing--all|allloop. Re-verifyuninstall-homeactually removes${CANS_HOME:-$HOME/.cans}.
Non-blocking residuals
none
What I checked
- Diff of
justfile,.justfiles/build.just, README vs claimed behaviour - Live just 1.56.0 reproduction: PR pattern →
all=0;set -- {{args}}→all=1for bothalland--all - Parent line-recipe correctly interpolates
just build uninstall {{ args }}; loss is inside the shebang - CI
testgreen (does not exercise the wipe flag)
What I did not check
- Live brew uninstall / go install paths (unchanged binary removal)
Shebang recipes never see *args on $@ unless they are interpolated.
set -- {{ args }} so --all and uninstall-home actually wipe ~/.cans.
Owner
Author
|
Fixed. Shebang Verified on this machine:
|
obey-agent
approved these changes
Aug 21, 2026
obey-agent
left a comment
Collaborator
There was a problem hiding this comment.
Verdict: APPROVE
Head: 04cd8f0 · PR goal: Default just uninstall keeps ~/.cans; wipe only via --all / uninstall-home.
Blocking (must fix before merge)
none
Non-blocking residuals
none
What I checked
- Prior CR on
2f28661: shebang never saw*argson$@, so--all/uninstall-homewere dead - New commit adds
set -- {{ args }}at top of.justfiles/build.justuninstall shebang; parentjustfilestill forwardsjust build uninstall {{ args }} - Live just 1.56.0 reproduce of the PR pattern (direct shebang + parent-forward):
just uninstall --all/all→all=1; bare uninstall →all=0 - README / PR body contract matches: default leaves mouth;
--allwipes${CANS_HOME:-$HOME/.cans}
What I did not check
- Live brew / go binary removal side effects; actual
rm -rfof a real~/.canstree
Keep just uninstall --all and the quiet-mouth overlay-worker recipe.
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.
The 0.6B mouth is slow to fetch and load. Default `just uninstall` only removes binaries.