← Back to wkappbot-core
wkappbot-core ★★☆

# Launcher --sudo probe: File.Exists check before ConnectAsync

v6.0.1 fix for HANDSHAKE-MISS false positives on cold-start sudo. Launcher/Program.cs checks File.Exists('\.\pipe\wkappbot_elevated') BEFORE ConnectAsync. If pipe file is absent, admin Eye hasn't been spawned yet (cold start) -- quiet fallthrough to Core which will handle UAC + SudoHandler.EnsureAdminForSudo. If pipe file EXISTS but ConnectAsync fails, real zombie -- that's when we fire the HANDSHAKE MISS banner + bug-auto suggest. Previous fastFailMs=100 elapsed-based heuristic mis-classified every cold-start as handshake miss (merged 34x in 33h). Keeps v6.0 pipe separation: wkappbot_eye_ipc (normal Eye tick) and wkappbot_elevated (admin Eye cmd proxy) must never mix. Affects --all commands via --sudo flag.

user/developer
launcher sudo pipe-separation handshake v6.0.1 regression-fix--all

## Steps

1. Launcher Program.cs --sudo branch calls File...
2. Cold start (pipe file absent) -> quiet log '...
3. Pipe present -> do the 1500ms ConnectAsync;...
4. Affects wkappbot --all commands because --su...
5. Evidence: test-launcher-sudo-handshake-miss-...
6. Verified 2026-04-21: test-eye-sudo-handshake...
7. [AUDIT 2026-05-29] Launcher/Program.cs split...
8. [AUDIT 2026-06-03] source_refs broken: stale...
9. [AUDIT 2026-06-04] Launcher Program.cs: 'pip...