# Brief: executor-v2-output-contract ## Background `executor_evidence_v1` still made Chat Executor produce both evidence attribution and final user-facing prose through `diagnosis_summary` and `user_facing_answer`. This kept Executor in a "diagnose and narrate" role and left room for unsupported conclusions to appear before later verification and composition stages. ## Goal Narrow Chat Executor output to `executor_evidence_v2`: structured diagnostic material only, with final expression removed from Executor. ## Scope - Update Chat Executor prompt to emit `executor_evidence_v2`. - Remove `diagnosis_summary` and `user_facing_answer` from Executor output. - Keep `claims`, `hypotheses`, `recommended_actions`, `missing_info`, and evidence bindings. - Add temporary ChatService rendering for PASS + V2 output so normal users do not see raw JSON. - Preserve V1 `user_facing_answer` extraction for compatibility. ## Non-Goals - No Gatekeeper implementation. - No Verifier V2 `claim_checks`. - No Composer. - No Planner changes. - No database schema changes. - No evidence tool signature changes. ## Related OpenSpec `openspec/changes/archive/2026-07-07-executor-v2-output-contract/`