fix: preserve launch PATH for tmux - #608
Conversation
6e93e9d to
d3af207
Compare
cheapsteak
left a comment
There was a problem hiding this comment.
🙏 🙏 🙏 (Did you restart your computer? XD )
d3af207 to
df06d54
Compare
df06d54 to
c06ce42
Compare
|
Noo, the other two PRs caused random crashes, and when that happened it would restore without tmux :D I guess a restart would be the same! |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
✅ Looks good — no High or Medium severity findings. Both review lenses came back clean:
No invalid or persnickety feedback was filtered out during merge (both specialists returned empty findings arrays, so there was nothing to dedupe or drop). Finding dispositionsNo findings were reported by either specialist, so there are no dispositions to record. Review diagnosticsNo tool calls failed or were denied for either specialist, as far as reported back to the orchestrator. The correctness specialist recorded a detailed premise-audit notes file ( Posted by the claude-review check — the review of this PR's diff at patch-id |
Summary
Root cause
The restart script's initial open and LaunchServices crash relaunch used different environments. A relaunch could therefore lose the PATH entry containing tmux, making every new terminal fail until the app was restarted from a shell.
Design trade-off
The captured installation PATH is the daemon-wide inherited environment, not only the tmux search path. TBDDaemon inherits it from TBDApp, and every daemon descendant inherits it in turn. GitManager still launches the
gitexecutable at its pre-existing fixed/usr/bin/gitpath; helpers that git invokes, such asgit-lfs, depend on the inherited PATH. Tmux has an explicit saved-executable fallback; other tools do not. Restoring fixed package-manager directory augmentation would reintroduce a hidden, machine-specific search policy for every subprocess, so this PR intentionally removes that behavior.Verification
bash scripts/restart-environment-lib.test.sh— 9/9 passed; verifies plist-generation helper behavior, not an OS-level crash/LaunchServices relaunch end to endscripts/swift-safe buildswiftlint --strictKnown baseline failures
The fenced full suite was run and reported nine issues, including one known quarantined issue. The remaining assertions reproduce in unchanged Markdown URL-policy, scratchpad base-path, and transcript-estimator tests.
Scope
PATH is the sole authority for tmux discovery before its explicit saved fallback. This PR does not run a login shell, invoke path_helper, persist a separate environment file, or search standard package-manager locations.