From 1080bfd85f370e0736d7257e39e8790562105ca3 Mon Sep 17 00:00:00 2001 From: Yahya Alhinai Date: Sun, 28 Jun 2026 05:24:35 +0000 Subject: [PATCH] feat: label screen observations in pod streams --- frontend/src/components/PodView.tsx | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/frontend/src/components/PodView.tsx b/frontend/src/components/PodView.tsx index ba743ee..96001d3 100644 --- a/frontend/src/components/PodView.tsx +++ b/frontend/src/components/PodView.tsx @@ -8,7 +8,6 @@ import { EyeIcon, GitBranchIcon, ExternalLinkIcon, - FileTextIcon, MessageSquareIcon, MonitorUpIcon, PanelLeftIcon, @@ -773,6 +772,7 @@ function StreamStat({ label, value }: { label: string; value: number }) { function ActivityItem({ event }: { event: PodActivityEvent }) { const Icon = activityIcon(event.kind); const metadata = activityMetadata(event); + const title = activityTitle(event); return (
-

- {event.title} -

+

{title}

@@ -889,7 +887,7 @@ const ACTIVITY_CATEGORIES: { { id: 'signal', label: 'Signals', - hint: 'Raw inputs the agent observed — screen vision and git activity.', + hint: 'Screen logs and local git activity routed to this stream.', icon: RadioTowerIcon, }, { @@ -901,7 +899,7 @@ const ACTIVITY_CATEGORIES: { ]; const KIND_LABEL: Record = { - observation: 'Observed', + observation: 'Screen log', git: 'Git', collision: 'Conflict', intervention: 'Intervention', @@ -913,7 +911,7 @@ const SOURCE_META: Record< { label: string; icon: typeof RadioTowerIcon; className: string } > = { vision: { - label: 'Vision', + label: 'Screen', icon: EyeIcon, className: 'border-chart-1/40 bg-chart-1/10 text-chart-1', }, @@ -957,6 +955,11 @@ function SourceChip({ source }: { source: PodActivitySource }) { ); } +function activityTitle(event: PodActivityEvent): string { + if (event.kind !== 'observation') return event.title; + return event.title.startsWith('Screen') ? event.title : `Screen log: ${event.title}`; +} + function activityIcon(kind: PodActivityKind) { switch (kind) { case 'git': @@ -969,7 +972,7 @@ function activityIcon(kind: PodActivityKind) { return CheckIcon; case 'observation': default: - return FileTextIcon; + return MonitorUpIcon; } }