You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up to #67 (PR #553), which landed the semantic status token system and migrated 9 reference files. Approximately 70 frontend files still use raw color classes (bg-green-500, text-red-600, etc.) that should consume the new tokens.
Context
PR #553 introduced these tokens in tailwind.config.js:
Chat & process — ChatPanel.vue, chat/*.vue, process/*.vue
Misc panels — CredentialsPanel.vue, GitPanel.vue, SkillsPanel.vue, PlaybooksPanel.vue, TagsEditor.vue, NeverminedPanel.vue, etc.
Blocked by
#555 — about 4–5 components need new families before they can migrate cleanly:
Purple in DashboardPanel.getStatusColors → needs accent family
Orange/blue in RuntimeBadge.vue → needs brand-claude / brand-gemini
Amber in AutonomyToggle.vue → needs state-autonomous (or similar)
Rose in ReadOnlyToggle.vue → needs status-restrictive (or similar)
The status-only sweep can proceed in parallel for components that don't hit these gaps.
Acceptance
All raw bg/text/border/ring-{green,yellow,red,blue,orange}-* references in src/frontend/src/ migrated to corresponding status-* tokens (where the color carries status meaning)
Summary
Follow-up to #67 (PR #553), which landed the semantic status token system and migrated 9 reference files. Approximately 70 frontend files still use raw color classes (
bg-green-500,text-red-600, etc.) that should consume the new tokens.Context
PR #553 introduced these tokens in
tailwind.config.js:status-success(green)status-warning(yellow)status-danger(red)status-info(blue)status-urgent(orange)And migrated:
StatusIndicator.vue,CapacityMeter.vue,RunningStateToggle.vueutils/syncHealth.js,composables/useFormatters.jscomponents/MetricsPanel.vue,components/DashboardPanel.vue,components/SchedulesPanel.vue,components/TasksPanel.vuePer the autoplan that scoped #67, the full sweep was deliberately deferred to keep that PR reviewable.
Scope
Migrate the remaining ~70 components/views from raw color classes to the new tokens. Prefer per-domain sub-PRs to keep reviews tractable, e.g.:
Agents.vue,AgentDetail.vue,AgentNode.vue,AgentHeader.vue,AgentTerminal.vue,AgentCollaboration.vueSettings.vue(~338 raw color uses!),ApiKeys.vue,Login.vue,SetupPassword.vue,MobileAdmin.vueOperatingRoom.vue,Monitoring.vue,operator/*.vue,UnifiedActivityPanel.vue,ReplayTimeline.vue,HostTelemetry.vueSlackChannelPanel.vue,TelegramChannelPanel.vue,WhatsAppChannelPanel.vue,PublicLinksPanel.vue,SharingPanel.vueFileManager.vue,FilesPanel.vue,FileTreeNode.vue,file-manager/*.vueChatPanel.vue,chat/*.vue,process/*.vueCredentialsPanel.vue,GitPanel.vue,SkillsPanel.vue,PlaybooksPanel.vue,TagsEditor.vue,NeverminedPanel.vue, etc.Blocked by
#555 — about 4–5 components need new families before they can migrate cleanly:
DashboardPanel.getStatusColors→ needsaccentfamilyRuntimeBadge.vue→ needsbrand-claude/brand-geminiAutonomyToggle.vue→ needsstate-autonomous(or similar)ReadOnlyToggle.vue→ needsstatus-restrictive(or similar)The status-only sweep can proceed in parallel for components that don't hit these gaps.
Acceptance
bg/text/border/ring-{green,yellow,red,blue,orange}-*references insrc/frontend/src/migrated to correspondingstatus-*tokens (where the color carries status meaning)npm run check:tokens(added in feat(frontend): semantic status color tokens (#67) #553) keeps passing across the migrationOut of scope
neutral-*token family in its own ticket)style.cssscrollbar hex values (separate ticket)monitoring.js getStatusColor(returns bare names, different abstraction)