## Summary
-
## Linked issues
Closes #
## Type of change
- [ ] feat — new user-facing capability
- [ ] fix — bug fix
- [ ] perf — performance improvement (include before/after)
- [ ] refactor — structure only, no behavior change (Tidy First)
- [ ] docs / chore / test / ci
## Pre-CI checklist (run locally before pushing)
- [ ] `cargo fmt -- --check`
- [ ] `cargo clippy --all-targets -- -D warnings`
- [ ] `cargo test`
- [ ] `cargo build --release`
- [ ] `cargo bench` (if perf-related; attach before/after numbers)
## Behavior verification
- [ ] Manual attach/detach loop, ≥ 3 iterations
- [ ] Resize loop (small ↔ large), no flicker / no panic
- [ ] Multi-client attach (Shared mode), if applicable
- [ ] SIGTERM/SIGHUP graceful shutdown, if applicable
## Risk / blast radius
- [ ] No snapshot schema change, OR migration added (`workspace::migrate_*`)
- [ ] No wire-protocol change, OR version bump + handshake compatibility
- [ ] No `.ezpn.toml` breaking change, OR documented in CHANGELOG
## Docs
- [ ] README.md updated (if user-facing)
- [ ] All `docs/README.{ko,ja,zh,es,fr}.md` synced
- [ ] CHANGELOG.md `[Unreleased]` entry added (functional-only style)
## Reviewer focus
-