8ff4f66b95
Wire `pre_turn_snapshot` and `post_turn_snapshot` helpers into `core::turn`, then call them from `Engine::handle_send_message` — pre-turn fires right after `turn_counter` is incremented, post-turn fires right after `Event::TurnComplete` is emitted. Both hooks are dispatched via `tokio::task::spawn_blocking` so the agent loop never waits on the side-git commit, and helper failures are swallowed at WARN log level so a busted disk or missing `git` binary can never derail a turn (per the snapshot module's documented non-fatal contract). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>