Skip to content

[Story]: Render artifact summaries as proper Markdown instead of plain text #259

Description

@adoLime

User Story

As a project member, I want AI-generated artifact summaries to render as properly styled Markdown (headings, bullets, code blocks, quotes), so that the structured sections "Key points / Decisions / What changed" are visually distinguishable instead of reading like a wall of plain text.

Context & Motivation

Status quo: The AI service already prompts for Markdown with the sections ## Key points, ## Decisions, ## What changed, and the frontend renders the summary with ReactMarkdown. The Raw-View of an artifact uses markdown-body and looks correct.

Gap noticed: The Summary-View uses prose prose-sm dark:prose-invert classes but @tailwindcss/typography is not installed (Tailwind v4 setup, no plugin in package.json, no import in src/styles/index.css). So the prose classes have no effect, the Markdown is parsed but renders with default browser styling, looking like plain text.

Acceptance Criteria

  • Summary-View in ArtifactViewerDrawer renders Markdown with visible styling for headings, bullets, code blocks, and quotes, matching the look of the Raw-View.
  • Verify the local LLM actually returns the expected Markdown sections (## Key points etc.) on a real artifact; if the model
    frequently drops them, file a follow-up on the AI side.
  • Light and dark themes both render correctly; state is conveyed by structure (headings, bullets), not color alone; keyboard focus stays visible; no regressions in streaming/loading/error states.

Technical Notes

  • Quickest fix: replace prose prose-sm dark:prose-invert with markdown-body in ArtifactViewerDrawer.tsx:414 (reuses the already installed github-markdown-css).
  • Alternative: install @tailwindcss/typography and activate it in src/styles/index.css for project-wide prose support.
  • AI side: prompt at artifact_summary.py:138-148 already requests Markdown; only verify, do not change unless the model misbehaves.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requeststoryteam:aiAI / Retrieval team (sprintstart-ai, Python)team:frontendFrontend team (sprintstart-frontend, React)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions