Background
`test_web_routes.py::TestFsList` and related fs-listing tests assume the user's home directory surfaces as the alias `'home'` and that `~` resolves consistently. On Windows the runner's home is `C:\Users\runneradmin\`, and the fs-list endpoint surfaces the literal username instead.
Symptoms
```
FAILED test_roots_no_path_or_empty - assert 'runneradmin' == 'home'
FAILED test_path_param_tilde_expansion - {"detail":"not_found"} (404 instead of 200)
FAILED test_outside_allow_list_422 - 200 instead of 422 (path canonicalization differs)
```
Affected files
- `packages/memtomem/tests/test_web_routes.py::TestFsList` — multiple tests
- Possibly: `test_web_exclude_guard.py`
Root cause hypothesis
The endpoint computes the alias from `Path.home()` and exposes `{name: "home"}` as a stable label on POSIX. On Windows, `Path.home().name` is `runneradmin` (the actual username), not the literal string `"home"`. The production code likely does `alias = path.name` which works on POSIX (because home is always `/home/` on Linux and `/Users/` on macOS, with `.name = `) but the test asserted the alias is exactly `"home"`.
Need to inspect the endpoint to confirm whether the alias is hard-coded or derived. Either:
- production code intends a stable label and should hard-code `"home"` for the home root regardless of platform, OR
- tests should derive the expected name dynamically from `Path.home().name`
Refs
🤖 Generated with Claude Code
Background
`test_web_routes.py::TestFsList` and related fs-listing tests assume the user's home directory surfaces as the alias `'home'` and that `~` resolves consistently. On Windows the runner's home is `C:\Users\runneradmin\`, and the fs-list endpoint surfaces the literal username instead.
Symptoms
```
FAILED test_roots_no_path_or_empty - assert 'runneradmin' == 'home'
FAILED test_path_param_tilde_expansion - {"detail":"not_found"} (404 instead of 200)
FAILED test_outside_allow_list_422 - 200 instead of 422 (path canonicalization differs)
```
Affected files
Root cause hypothesis
The endpoint computes the alias from `Path.home()` and exposes `{name: "home"}` as a stable label on POSIX. On Windows, `Path.home().name` is `runneradmin` (the actual username), not the literal string `"home"`. The production code likely does `alias = path.name` which works on POSIX (because home is always `/home/` on Linux and `/Users/` on macOS, with `.name = `) but the test asserted the alias is exactly `"home"`.
Need to inspect the endpoint to confirm whether the alias is hard-coded or derived. Either:
Refs
🤖 Generated with Claude Code