From 8fa490978b08578208b17da6c592aa4a9226dceb Mon Sep 17 00:00:00 2001 From: Arthur Belleville Date: Sun, 17 May 2026 00:06:24 +0200 Subject: [PATCH] =?UTF-8?q?spec(phase-17):=20add=20SPEC.md=20for=20Chat=20?= =?UTF-8?q?&=20Planning=20=E2=80=94=206=20requirements=20(#2213)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .planning/phases/17-chat-planning/17-SPEC.md | 112 +++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 .planning/phases/17-chat-planning/17-SPEC.md diff --git a/.planning/phases/17-chat-planning/17-SPEC.md b/.planning/phases/17-chat-planning/17-SPEC.md new file mode 100644 index 0000000..a71208c --- /dev/null +++ b/.planning/phases/17-chat-planning/17-SPEC.md @@ -0,0 +1,112 @@ +# Phase 17: Chat & Planning — Specification + +**Created:** 2026-05-17 +**Ambiguity score:** 0.13 (gate: ≤ 0.20) +**Requirements:** 6 locked + +## Goal + +Restyle the discussion view and planning page using design system components so both surfaces are visually consistent with the Phase 15–16 restyled tablos, with own-vs-others message alignment and date-grouped planning events. + +## Background + +Phases 15–16 restyled the dashboard and tablo-detail surfaces using the design system (`ui.Card`, `.overview-section`, `.project-card`, CSS tokens). The discussion view (`backend/templates/discussion.templ`) and planning page (`backend/templates/planning.templ`) were not touched and remain visually inconsistent: they use raw inline Tailwind classes with no card surfaces or overview-section structure. + +Current gaps: +- **Discussion**: `DiscussionMessageRow` renders identical flat rows for all messages. `DiscussionMessageView` has no `IsOwn` field. The SSE stream handler (`DiscussionMessageFromRow`) also omits own-user context. +- **Planning**: `PlanningPage` uses a raw `