40 lines
1.5 KiB
Markdown
40 lines
1.5 KiB
Markdown
# 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.
|
|
|