Goal
Render stress-test results as an interactive ambiguity review UI where users answer questions inline and submit answers to refine the PRD.
Background
Follows the trigger issue (#561). The stress-test produces a decomposition tree with ambiguities surfaced as questions. Users need to answer them in the browser to get a refined PRD.
Scope
Results view (shown after stress-test completes):
- Decomposition tree displayed as collapsible cards: top-level breakdown → leaf ambiguities
- Each ambiguity shown as a card with:
- Question text (the ambiguity the agent cannot resolve)
- Severity indicator (blocking / warning)
- Inline text area for the user's answer
- "All answered" progress indicator (e.g., "4 of 7 answered")
- [Refine PRD] button — enabled when all blocking ambiguities are answered
- Calls
POST /api/v2/prd/stress-test/refine with the original PRD + answers
- Streams the refined PRD back
- On completion: saves the refined PRD and shows a diff/confirmation
Out of scope
- Re-running stress-test on the refined PRD (user can click [Stress Test] again)
- Non-blocking ambiguities are skippable
Acceptance criteria
Goal
Render stress-test results as an interactive ambiguity review UI where users answer questions inline and submit answers to refine the PRD.
Background
Follows the trigger issue (#561). The stress-test produces a decomposition tree with ambiguities surfaced as questions. Users need to answer them in the browser to get a refined PRD.
Scope
Results view (shown after stress-test completes):
POST /api/v2/prd/stress-test/refinewith the original PRD + answersOut of scope
Acceptance criteria
npm testanduv run pytestpass