New features:
- Leveled log output in fslog via RUST_LOG / env_logger — control verbosity without recompiling
Bug fixes:
- Free SessionTracker state when monitored calls end, preventing unbounded memory growth
- Accept uppercase hex digits in related-leg UUID harvesting
- Char-boundary-safe display truncation and header slicing (no more UTF-8 panics)
- Tolerate truncated codepoints in tail context reads
- Correctly unindex superseded other_leg_uuid on relink, preventing stale cross-leg associations
- Single canonical extraction path in SessionTracker eliminates multi-line variable clobber
- Log rotated-file open failures, pager spawn failures, and tail read errors instead of silently skipping/ending
Refactoring:
- Typed CallFields, typed UiMode, single AppState constructor, one row formatter, one centered-popup renderer shared across TUI and --dump paths
- Merged pad_date_min/max into one defaults-driven helper; folded cmd_read into the shared Emitter output path