Repository navigation
fix(fish): 10-core.fish owns the macOS PATH, gentle-ai launchers first - #75
Conversation
config.fish loads after conf.d and re-prepended its own PATH, burying ~/.gentle-ai/bin, so opencode never ran through the managed launcher. Move the macOS dirs and brew shellenv into 10-core.fish (each dir only if it exists); config.fish keeps no PATH logic. w2 pins a non-Homebrew platform so the host's real starship cannot shadow its stub. Refs #69
Post-merge QA (glm)10-core.fish takes ownership of the macOS PATH: brew shellenv plus one conditional dir list, later entries first, gentle-ai launchers ending up at the head — exactly what w8 now asserts for macOS. The w2 test pins uname to Linux so the platform PATH block cannot let the host's real starship shadow the stub under test. One caveat outside the diff: config.fish is a host file, so dropping its PATH logic is a per-host manual step; hosts that skip it still have config.fish re-prepending its PATH after conf.d and burying gentle-ai again. No defects in what landed. No findings. Verdict: clean |
Post-merge QA (deepseek)Lens: evidence + test design. The macOS PATH block is a sound correction: it sources No defects found. The remaining gap is inherent to the fixtures: system prefixes cannot be created on a runner, so the Homebrew and Suggestion (1)
Verdict: clean |
config.fishloads afterconf.dand re-prepended its own PATH, leaving~/.gentle-ai/binat position 13:opencodenever ran through the managed launcher on the Mac.10-core.fish:brew shellenv+ one dir list (cargo, Homebrew, local, opencode, volta, bun, nix), each only if it exists.config.fish(host file) drops its PATH logic.Differential on the Mac (login PATH + resolution of opencode, gs, gentle-ai, gentle-shell, pi, node, bun, cargo, brew, go, starship, nvim): only
opencodechanges, now~/.gentle-ai/bin/opencode. Dropped entries (volta, bun, /usr/local/bin, ~/.config) do not exist on this host.Refs #69