#556
fix: contain legacy session saves under test_history
Summary
- Reject traversal, absolute, and nested session names so saves stay under `test_history/`
- Reprompt on invalid names instead of writing outside the session directory
- Add regression tests covering the #502 repro cases
Fixes #502
Test plan
- `uv run python -m pytest tests/legacy/test_session_save.py -v`
- `make ci-quick` (140 root tests + agent checks)