Skip to content

fix(fish): add the managed Pi home to PATH - #78

Merged
barbatdev merged 1 commit into
mainfrom
fix/fish-pi-managed-path
Oct 21, 2026
Merged

barbatdev merged 1 commit into
mainfrom
fix/fish-pi-managed-path

Conversation

@barbatdev

Copy link
Copy Markdown
Owner

On the Mac pi lives only in ~/.pi/agent/bin and reached PATH by inheritance. After #75 made 10-core.fish own PATH, gs failed with No pi runtime could be found. Added as the lowest-priority dir on macOS and Linux (a pi in ~/.local/bin still wins). w8 covers both.

Refs #69

The Mac's pi lives only in the managed home and reached PATH by
inheritance; once 10-core.fish owned PATH, gs could not find pi. Lowest
priority, so a pi in ~/.local/bin still wins on Linux hosts.

Refs #69
@barbatdev
barbatdev merged commit 0a2166d into main Oct 21, 2026
1 check passed
@barbatdev
barbatdev deleted the fix/fish-pi-managed-path branch October 21, 2026 18:39
@barbatdev

Copy link
Copy Markdown
Owner Author

Post-merge QA (glm)

Adds ~/.pi/agent/bin as the lowest-priority PATH entry on both macOS and Linux in 10-core.fish, restoring pi resolution after #75 made the file own PATH. Both w8 platform expectations were updated consistently (appended last, so lowest priority), the existing ordering guarantees hold (gentle-ai first on macOS, ~/.local/bin first on Linux), and ~/.local/bin still wins over it as the body promises. No defects found.

No findings.

Verdict: clean

@barbatdev

Copy link
Copy Markdown
Owner Author

Post-merge QA (deepseek)

Lens: evidence + test design.

The fix matches its diagnosis. On macOS pi lived only in ~/.pi/agent/bin and reached PATH by inheritance; after #75 moved PATH ownership into 10-core.fish, nothing added it, so gs reported no Pi runtime. The merge appends $HOME/.pi/agent/bin as the first entry of both platform lists, which — because fish_add_path --move prepends cumulatively — makes it the lowest-priority directory, exactly as the PR body states, and leaves ~/.local/bin ahead of it. w8-linux-path.fish creates the directory in both fixtures and extends the exact-order expectations (Linux and macOS) to include it, so the change is pinned by real fish execution rather than by inspection, and the existing "user-local bin must lead PATH" assertion still guards the precedence the PR claims.

One evidence gap: the stated guarantee that "a pi in ~/.local/bin still wins" is only implied by the ordering assertion — no case puts a pi executable in both directories and asserts which one resolves.

Suggestion (1)

  • Precedence claim is asserted as an order, never as a resolution (fish/tests/w8-linux-path.fish:50): The PR body states that "a pi in ~/.local/bin still wins" over ~/.pi/agent/bin. The tests pin the resulting string order, which is the mechanism, but no case creates a pi stub in both directories and asserts command -v pi resolves to ~/.local/bin/pi. If fish's duplicate handling ever changed (both entries present, or the move collapsing), the order string could still match while resolution does not.

Verdict: clean

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant