feat(agent): add composer final answer
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# Executor Composer Final Answer
|
||||
|
||||
## Background
|
||||
|
||||
Stages one to three moved the Chat diagnosis chain to structured Executor output, deterministic Gatekeeper validation, and Verifier `claim_checks`.
|
||||
|
||||
Before this stage, `ChatService` still owned final answer rendering. PASS paths could use a temporary V2 renderer, while LOW_CONFID and REJECT paths used templates. That left final user-facing expression too close to Executor material and made it harder to prove that only Verifier-allowed claims reached the user.
|
||||
|
||||
## Goal
|
||||
|
||||
Add a Composer expression layer after Verifier:
|
||||
|
||||
```text
|
||||
chat_planner
|
||||
-> chat_executor
|
||||
-> VerifierInputHook + Gatekeeper
|
||||
-> chat_verifier
|
||||
-> chat_composer
|
||||
-> final answer
|
||||
```
|
||||
|
||||
Composer produces user-facing answers from filtered material only:
|
||||
|
||||
- `allowed_claims`
|
||||
- `allowed_hypotheses`
|
||||
- `missing_info`
|
||||
- `recommended_actions`
|
||||
- `rationale`
|
||||
|
||||
## Scope
|
||||
|
||||
- Added `chat-composer-prompt.md`.
|
||||
- Added `chat_composer` Agent construction in `ChatService`.
|
||||
- Added Composer input filtering from Verifier decision and Executor structured output.
|
||||
- Replaced PASS temporary V2 renderer usage with Composer-or-safe-fallback rendering.
|
||||
- Routed LOW_CONFID and REJECT final answers through Composer when Verifier output is valid.
|
||||
- Added deterministic fallback for malformed Composer output.
|
||||
- Persisted `composer_output` under `diagnosis_session.self_evaluation.verifier_evaluation`.
|
||||
- Updated sequential workflow tests.
|
||||
|
||||
## Non-Goals
|
||||
|
||||
- No Planner changes.
|
||||
- No Executor retry changes.
|
||||
- No Gatekeeper rule expansion.
|
||||
- No Verifier classification expansion.
|
||||
- No database schema migration.
|
||||
- No stage-five eval fixture expansion.
|
||||
|
||||
## OpenSpec
|
||||
|
||||
- Active change before archive: `openspec/changes/executor-composer-final-answer`
|
||||
- Capabilities: `chat-composer-agent`, `chat-verifier-agent`
|
||||
- Scale: standard
|
||||
Reference in New Issue
Block a user