0af774ae9d
- process_input sets _failure_recovery flag when injecting pending_failure_context - classify_intent skips LLM classification when flag is set, directly routes to modify_jrxml - Smart truncation for intent classify: keep head 200 + tail 300 chars instead of head 500 (prevents user's actual message from being truncated away by long injected context) - This fixes the bug where "retry" or pasted error messages were misclassified as consult_question or initial_generation after max retry exhaustion