404fd396f5
The 837-line commands.rs is split: - llm.rs: handle_llm_message (LLM turn for non-command messages, ~195 lines) - mod.rs: handle_incoming_message + tests (~660 lines) Tests stay co-located with handle_incoming_message in mod.rs. All 2636 tests pass; clippy clean.