Files
kandev/docs/plans/prompt-alias-rendering/plan.md
T
Clément Fiere 2a29104412 fix: harden prompt history and saved prompt aliases (#3369)
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
Co-authored-by: Henry <nova28@users.noreply.github.com>
Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: João Salavisa <joao.salavisa@gmail.com>
Co-authored-by: Kandev Agent <agent@kandev.dev>
2026-09-06 11:34:48 +01:00

50 lines
1.8 KiB
Markdown

---
status: pending
initiative: prompt-alias-rendering
requirements:
- docs/specs/ui/requirements/prompt-alias-rendering.md
system_design:
- docs/specs/ui/system-design/prompt-alias-rendering.md
---
# Prompt alias rendering
## Overview
Make recognized saved-prompt `@name` aliases render consistently as prompt chips
in the transcript, the desktop anchored last-prompt bar, and desktop/mobile
Prompt history without changing prompt delivery or persistence.
## Delivery order
1. Extract the existing transcript prompt-chip renderer into a reusable UI
module, keeping the existing matcher and entity-reference composition intact.
2. Wire the anchored last-prompt bar and Prompt history rows to that shared
renderer.
3. Add focused component tests for recognized and unknown aliases in both
surfaces, then extend the existing chat/pinned/history E2E coverage with one
end-to-end alias assertion where the seeded prompt is visible.
The work is one vertical frontend slice with no dependency on backend changes.
## Work orders
- [task-01-render-prompt-aliases.md](task-01-render-prompt-aliases.md)
## Verification strategy
- Focused Vitest coverage for the shared renderer, `ChatMessage`,
`AnchoredLastPromptBar`, and `PromptHistoryPanelContent`.
- Existing prompt alias and last-prompt Playwright flows, extended to assert
the chip in the pinned and history surfaces.
- Frontend typecheck and lint after the targeted tests pass.
## Risks and exclusions
- Prompt history currently uses a single-line text projection; the fix must not
replace that layout with a second Markdown layout or break overflow detection.
- Pinned content has no message metadata, so it reuses alias rendering but does
not gain entity-reference chips.
- No changes to alias parsing, backend expansion, prompt persistence, or raw
message rendering.