# Unchanged platform and shell controls

Evidence level: source comparison; focused test log is separate. No Windows/macOS runtime pass claimed.

W1/W2: WINDOWS_PROFILE_ENV_NAMES remains [PATH,FNM_DIR,FNM_MULTISHELL_PATH]; installWindowsEnvironment only installs those, never H/R. Unchanged function and name list in both source snapshots. Thus missing H/R stay missing and inherited pair stays inherited.

S1/S2/S3: shared listLoginShellCandidates unchanged byte-for-byte between commits. Candidates: trimmed SHELL, trimmed userInfo shell, platform fallback (Linux /bin/bash, Darwin /bin/zsh), deduplicated in order.

S4: unchanged readLoginShellEnvironment uses -ilc; failed output discarded, loop tries next distinct candidate; captured fields accumulate. Focused existing test rejects PATH from failed shell then tries next candidate.

S5: unchanged `if (shellEnvironment.PATH) break` stops on first captured PATH, even without Android exports.

S6: unchanged Darwin-only launchctl fallback supplies PATH only when no shell PATH was captured; never H/R.

Desktop backend configuration and LocalDeviceHost source snapshots match byte-for-byte between before/after. The production diff is solely POSIX desktop shell capture and Android precedence-group installation.
