feat(chat): honest native-client contract for queue_depth + SSE event kinds master
Promote to the generated OpenAPI contract exactly the fields/events a native chat client branches on, and prove the served JSON matches the declaration. - POST /api/chat: accepted-turn 200 now carries queue_depth (int) alongside use_id/queued; queue-full 429 carries a stable top-level queue_depth in the Error envelope. Both named in the contract. - Contract framework: _response() renders allOf[Error, named_fields] when a reason-code response also declares named fields, keeping x-reason-codes. - error_response() gains an optional `extra` dict (DRY shared envelope). - Root SSE: x-chat-events extension names the 9 native chat event kinds. - Close the talent_queued omission in CALLOSUM_REGISTRY["chat"]. - Route-level conformance tests assert real Flask JSON ⊆/⊇ the declared shape. - Regenerated docs/openapi/convey-clients.json + CONVEY.md callosum block. All changes additive (classify_changes vs HEAD == []); make check-openapi green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>