a6d9d7cf5b
Reported by @Hmbown: launching `deepseek` from any directory silently auto-recovered the most recent interrupted session, even if that session originated in a completely different workspace. Tools then operated on file paths from the prior workspace while the status bar showed the *current* workspace name — a confusing trust-boundary violation that also leaks api_messages, working_set entries, and any secrets the prior session had accumulated into a new terminal that was never meant to see them. `try_recover_checkpoint()` now compares the saved session's workspace to `std::env::current_dir()` (canonicalised, with a strict-equality fallback when canonicalisation fails — e.g. the original workspace was deleted) and only auto-recovers on a match. On a mismatch the checkpoint is still persisted as a regular session and cleared, so the user can recover it explicitly via `deepseek resume <ID>` after `cd`-ing back to the original workspace — no data is lost. A one-line stderr notice points at the resume command. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>