Branch: main · Build: 234 · Commit: 0bbfda9
Generated 2026-08-23T12:14:20.308Z.
Previous: build 127
PR: build 128
5 spec changes 2 screenshot changes
Diffed from published Markdown files under the specs directory, not from rendered report HTML.
| 1 | + --- | |
| 2 | + id: SUPPORT-DESIGN | |
| 3 | + title: Support desk experience | |
| 4 | + status: draft | |
| 5 | + layer: context | |
| 6 | + --- | |
| 1 | 7 | |
| 8 | + # Support desk experience | |
| 9 | + | |
| 10 | + ## Purpose | |
| 11 | + | |
| 12 | + Define the visual direction demonstrated by the support desk mock. | |
| 13 | + | |
| 14 | + ## Design | |
| 15 | + | |
| 16 | + The interface keeps ticket context and reply actions close together. | |
| 17 | + | |
| 18 | + ### Navigation | |
| 19 | + | |
| 20 | + Keep the inbox and active ticket within one interaction context. | |
| 21 | + | |
| 22 | + ## Principles | |
| 23 | + | |
| 24 | + - Make ticket status easy to scan | |
| 25 | + - Keep the primary reply action obvious | |
| 26 | + | |
| 27 | + ## Layout | |
| 28 | + | |
| 29 | + Use a ticket list beside the active conversation on wider screens. | |
| 30 | + | |
| 31 | + ## Interaction | |
| 32 | + | |
| 33 | + Opening a ticket preserves the agent's position in the list. | |
| 34 | + | |
| 35 | + ## Visual style | |
| 36 | + | |
| 37 | + Use restrained surfaces with clear status accents. |
| 23 | 23 | |
| 24 | 24 | ### SUPPORT-M003: Priority |
| 25 | 25 | |
| 26 | + A visible urgency label used to sort the queue. | |
| 26 | - An internal urgency label. | |
| 27 | 27 | |
| 28 | 28 | ## Rules |
| 29 | 29 | |
| 30 | + - SUPPORT-M-R001: Tickets keep a stable public reference. | |
| 31 | + | |
| 32 | + ## Model Diagram | |
| 33 | + | |
| 34 | + ```mermaid | |
| 35 | + erDiagram | |
| 36 | + AGENT ||--o{ TICKET : handles | |
| 37 | + TICKET }o--|| PRIORITY : has | |
| 38 | + ``` | |
| 39 | + | |
| 40 | + ## Open Questions | |
| 41 | + | |
| 42 | + - SUPPORT-Q001: Should permission tables have optional coverage checks later? | |
| 43 | + | |
| 44 | + ## Assumptions | |
| 45 | + | |
| 46 | + - SUPPORT-A001: Review notes are shown in reports as informational context. | |
| 47 | + | |
| 48 | + ## Permissions | |
| 49 | + | |
| 50 | + - Agents can view assigned tickets. | |
| 51 | + - Leads can reassign tickets. | |
| 30 | - - SUPPORT-M-R001: Tickets MUST keep a stable public reference. |
| 1 | + --- | |
| 2 | + id: SUPPORT-PLATFORM | |
| 3 | + title: Support platform | |
| 4 | + status: accepted | |
| 5 | + layer: context | |
| 6 | + --- | |
| 1 | 7 | |
| 8 | + # Support platform | |
| 9 | + | |
| 10 | + ## Purpose | |
| 11 | + | |
| 12 | + Define the minimal technical platform for the support desk mock. | |
| 13 | + | |
| 14 | + ## Stack | |
| 15 | + | |
| 16 | + ### Runtime | |
| 17 | + | |
| 18 | + - TypeScript for application and test code | |
| 19 | + - Browser-rendered HTML reports | |
| 20 | + | |
| 21 | + ## Context | |
| 22 | + | |
| 23 | + The mock report must run without external application services. | |
| 24 | + | |
| 25 | + ## Rationale | |
| 26 | + | |
| 27 | + Keep report examples deterministic and easy to publish. | |
| 28 | + | |
| 29 | + ## Consequences | |
| 30 | + | |
| 31 | + Mock data and screenshots are stored with the fixture. |
| 17 | 17 | ## Rules |
| 18 | 18 | |
| 19 | 19 | - SUPPORT-INBOX-R001: The inbox MUST show open tickets first. |
| 20 | + - SUPPORT-INBOX-R002: The inbox SHOULD highlight high priority tickets. | |
| 20 | 21 | |
| 21 | 22 | ## Scenarios |
| 22 | 23 | |
| 25 | 26 | ``` |
| 26 | 27 | Given an agent has open tickets |
| 27 | 28 | When they open the inbox |
| 29 | + Then open tickets are listed by age with priority badges | |
| 28 | - Then open tickets are listed by age | |
| 29 | 30 | ``` |
| 1 | 1 | --- |
| 2 | 2 | id: SUPPORT-REPLY |
| 3 | 3 | title: Ticket replies |
| 4 | + status: active | |
| 4 | - status: draft | |
| 5 | 5 | layer: surface |
| 6 | 6 | model: SUPPORT |
| 7 | 7 | test: playwright |
| 17 | 17 | ## Rules |
| 18 | 18 | |
| 19 | 19 | - SUPPORT-REPLY-R001: The reply composer MUST preserve unsent text. |
| 20 | + - SUPPORT-REPLY-R002: Saved replies SHOULD be reusable across tickets. | |
| 20 | 21 | |
| 21 | 22 | ## Scenarios |
| 22 | 23 | |
| 27 | 28 | When they write a reply |
| 28 | 29 | Then the draft remains visible |
| 29 | 30 | ``` |
| 31 | + | |
| 32 | + ### SUPPORT-REPLY-S002: Agent sends a saved reply | |
| 33 | + | |
| 34 | + ``` | |
| 35 | + Given an agent has selected a ticket | |
| 36 | + When they choose a saved reply | |
| 37 | + Then the composer is filled with reusable text | |
| 38 | + ``` |
screenshots/SUPPORT-INBOX-S001-line-27-previous.svg → screenshots/SUPPORT-INBOX-S001-line-27-current.svg changed -4 bytesscreenshots/SUPPORT-REPLY-S001-line-27-current.svg added +840 bytesNo changes.