## 1. Executor Contract - [x] 1.1 Update `chat-executor-prompt.md` with the evidence-attribution JSON contract. - [x] 1.2 Require confirmed claims, hypotheses, recommended actions, missing information, and Chinese `user_facing_answer`. - [x] 1.3 Add prompt-level constraints that runbook/skill/history guidance cannot become current incident facts without current-session evidence. ## 2. Runtime Parsing And Verifier Input - [x] 2.1 Parse Executor final output into `executor_structured_output` when it is valid JSON. - [x] 2.2 Add `executor_output_parse_status` for valid, missing, and malformed outputs. - [x] 2.3 Pass `executor_structured_output` and parse status into the verifier payload while preserving existing `executor_final_answer`. - [x] 2.4 Persist or expose the structured output through existing trace/evaluation snapshots without a schema change. ## 3. Verifier Prompt - [x] 3.1 Update `chat-verifier-prompt.md` to verify structured claims before natural-language extraction. - [x] 3.2 Add a verifier rule to scan `user_facing_answer` for extra confirmed-sounding facts not present in structured `claims`. - [x] 3.3 Keep the existing natural-language fallback for malformed or absent structured output. ## 4. Tests And Evaluation - [x] 4.1 Add focused tests for Executor output parsing and parse-status fallback. - [x] 4.2 Add focused tests for verifier payload assembly with structured Executor output. - [x] 4.3 Add prompt/fixture regression coverage for unsupported claims being placed outside confirmed `claims`. - [x] 4.4 Add or update eval fixture checks that confirmed claims must have evidence bindings. ## 5. Verification - [x] 5.1 Run targeted unit tests for the parsing and verifier-input changes. - [x] 5.2 Run relevant Chat verifier/eval regression tests. - [x] 5.3 Run OpenSpec validation for `executor-evidence-output-contract`.