## Refactor Summary
- 
- 
- 

## Background
- Why this refactor is needed now:
- What complexity, duplication, or debt it reduces:

## Invariants
- External behavior expected to remain unchanged:
- Internal structure being improved:

## Validation
- [x] `uv run ruff check .`
- [x] `uv run ruff format --check .`
- [x] `uv run pytest tests/ -x --timeout=60`
- [x] Regression verification is listed below
- [ ] If any gate is skipped, explain why and get reviewer approval before merge

## Results
- 
- 

## Follow-up
- Remaining cleanup intentionally deferred:

## Risk / Rollback
- Most likely regression point:
- Rollback plan:
