fix(providers): name length-truncated JSON failures honestly master
IncompleteJSONError classified as "unknown", so a truncated extraction was indistinguishable from any other provider fault in talent.fail. Carry a reason_code of incomplete_json_length -- classify_provider_error already returns exc.reason_code ahead of every other rule, so no classifier branch is needed. Set it only for length truncations ("length", "max_tokens", case-insensitive). _validate_json_response also raises for safety and content_filter stops; naming a refusal a length truncation would be dishonest, and retrying one would not help. Those keep falling through as they do today. Registers the code in RUNTIME_REASON_CODES and gives it owner-facing copy across the readiness presenter and the chat reason registry. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>