feat(web): render a plan review as a decision card, not a quiz
The Web composer now renders a request that declares the `plan-review` intent as its own surface: the waiting-approval card language — amber "Plan review" strip, the plan as the scrolling markdown body, the question as the card's accessible name — over one decision row of Chat about it / Refuse / Approve. Gone from that surface are the 1/1 pager, the numbered radio rows, the custom answer row, and Skip/Submit, which made approving a plan read as sitting an exam. Approve and Refuse answer with the asker's own option labels and keep its descriptions as tooltips; Chat about it cancels the request so the composer returns and the user can simply say what they want. Copy is bilingual under the existing `question` namespace. The shape choice lives inside the single composer entry rather than a second chain registration, so the two surfaces cannot race the same carrier, and `planReviewOf` falls back to the generic flow for any request it cannot render as a card — the client sits downstream of a wire boundary and every request must stay answerable.
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
|
||||
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
||||
# after editing either side, bring the other along and re-record with:
|
||||
# pnpm run verify-translation-pairing --write .agents/notes/implemented/feature/2026-07-30-plan-review-presentation-intent.md
|
||||
2026-07-30-plan-review-presentation-intent.md: aa85156d87a35d049f3cfab465fc668a63781a73
|
||||
2026-07-30-plan-review-presentation-intent.zh.md: fffee3de6341d45b26b88e1cc67a3895e747afac
|
||||
Reference in New Issue
Block a user