Agentic AI Atlasby a5c.ai
OverviewWikiGraphFor AgentsEdgesSearchWorkspace
/
GitHubDocsDiscord
iiRecord
Agentic AI Atlas · GAP-UX-001d: Message Type Rendering
page:docs-harness-features-backlog-gaps-user-experience-gap-ux-001da5c.ai
Search record views/
Record · tabs

Available views

II.Record viewspp. 1 - 1
overviewarticlejsongraph
III.Related pagespp. 1 - 1
II.
Page reference

page:docs-harness-features-backlog-gaps-user-experience-gap-ux-001d

Reading · 2 min

GAP-UX-001d: Message Type Rendering reference

Type-specific rendering for different journal event types and task results.

Pagewiki/docs/harness-features-backlog/gaps/user-experience/GAP-UX-001d.mdOutgoing · 0Incoming · 1

GAP-UX-001d: Message Type Rendering

FieldValue
Categoryuser-experience
PriorityMedium
EffortL
StatusMissing

Description

Type-specific rendering for different journal event types and task results. Each event type (EFFECT_REQUESTED, EFFECT_RESOLVED, RUN_COMPLETED, RUN_FAILED) and task kind (agent, shell, breakpoint, sleep) gets a specialized renderer with appropriate formatting, color coding, and detail level.

CC Reference

CC has 35 message type renderers in src/components/messages/:

  • AssistantTextMessage.tsx -- AI text responses
  • AssistantToolUseMessage.tsx -- tool call display
  • AssistantThinkingMessage.tsx -- thinking block display
  • UserBashOutputMessage.tsx -- bash output formatting
  • HookProgressMessage.tsx -- hook execution progress
  • PlanApprovalMessage.tsx -- plan mode approval
  • RateLimitMessage.tsx -- rate limit handling
  • SystemAPIErrorMessage.tsx -- API error display
  • TaskAssignmentMessage.tsx -- task delegation display
  • CompactBoundaryMessage.tsx -- compaction boundary marker

Plus Message.tsx as the dispatcher that selects the right renderer per message type.

Current State

run:events outputs raw JSON events. No embedded SDK dashboard exists yet. No type-specific rendering. No color coding by event type. Task results displayed as raw JSON regardless of kind.

Target State

A message dispatcher component that renders each event type appropriately:

  • EFFECT_REQUESTED: Shows task title, kind icon, labels, step ID
  • EFFECT_RESOLVED: Shows duration, status (ok/error), result summary
  • RUN_COMPLETED: Shows completion proof, total duration, effect count
  • RUN_FAILED: Shows error message, stack trace, last good state
  • Agent task result: Shows summary of work done
  • Shell task result: Shows command, exit code, stdout/stderr with truncation
  • Breakpoint result: Shows who approved, response text, timing

Dependencies

  • GAP-UX-001 -- Ink rendering foundation

Key Files

ComponentPath
Run events CLIpackages/sdk/src/cli/
Embedded SDK dashboard (new)packages/sdk/src/dashboard/
Storage typespackages/sdk/src/storage/types.ts (event types)
CC referencesrc/components/messages/
CC message dispatchersrc/components/Message.tsx

Recommendation

Phase 3. Build a JournalEventRenderer that dispatches to per-type components. Start with the 4 core event types. Extend to task-kind-specific result rendering. Integrate into embedded SDK dashboard first, then run:events --rich CLI flag.

Article source

The article body is owned directly by this record.

Related pages

No related wiki pages for this record.

Shortcuts

Open overview
Open JSON
Open graph