Files

1.5 KiB

Decisions: executor-v2-output-contract

Key Decisions

Executor V2 removes final-expression fields

Decision: Chat Executor final output now uses executor_evidence_v2 and must not include diagnosis_summary or user_facing_answer.

Reason: Executor should collect evidence and produce structured diagnostic material, not write final user-facing conclusions.

Temporary renderer bridges the gap before Composer

Decision: ChatService renders V2 structured fields into readable Chinese only when Verifier returns PASS.

Reason: Composer is a later phase, but external users must not receive raw JSON during this intermediate stage.

V1 compatibility remains

Decision: Existing V1 user_facing_answer extraction remains.

Reason: It keeps old tests and any lingering V1 output compatible while the staged migration continues.

Gatekeeper and Verifier V2 are deferred

Decision: This phase does not add Gatekeeper or claim_checks.

Reason: The user requested phase-by-phase implementation with archive and commit after each phase. Gatekeeper is phase two.

Interface Impact

  • Internal Agent output contract: L4, because fields are removed.
  • Verifier payload: L2, because raw executor_final_answer and parsed executor_structured_output remain.
  • External Chat answer: compatible intent; users still get readable Chinese.

Risks

  • The temporary renderer is not a full Composer and should be replaced in the Composer phase.
  • Verifier prompt still uses V1 facts_checked; Verifier V2 is a later phase.