personal memory agent

fix(user-config): preserve tilde-leading home errors master

Python 3.14 narrowed Path.home() to raise only when the expanded home is exactly '~'. Python 3.12 and 3.13 raised for any tilde-leading expanded home, so HOME=~/x resolved to a literal ~/x journal path on 3.14 and drifted from the checked-in resolution contract. Add one private _home() resolver that guards on os.path.expanduser('~') before Path normalization, then route default_journal() and config_path() through it. The pre-normalization check reproduces 3.12/3.13 and matches Rust normalize_home, including ~~ and ~x as rejected values while preserving ./~ as accepted; a post-normalization check would see ~ and reject ./~ incorrectly. Update user-config tests for the load-bearing guard and the ./~/x~ acceptance cases. The fixtures in test_config_cli.py, test_install_guard.py, test_setup.py, and test_think_utils.py now patch HOME alongside their existing Path.home patches because the resolver no longer routes through Path.home(); each was changed only after make ci proved it failed. tests/fixtures/journal_path_resolution_vectors.json is unchanged. Co-Authored-By: Codex <noreply@openai.com>