Skip to content

refactor(frontend): sweep slice 9 + drift catch-up — 24 files (#554) - #809

Merged
vybe merged 2 commits into
devfrom
feature/554-sweep-slice-9-and-drift
May 12, 2026
Merged

refactor(frontend): sweep slice 9 + drift catch-up — 24 files (#554)#809
vybe merged 2 commits into
devfrom
feature/554-sweep-slice-9-and-drift

Conversation

@oleksandr-korin

Copy link
Copy Markdown
Contributor

Summary

Final design-system token sweep (#554). Migrates the last 24 files containing raw semantic palette references — zero remaining anywhere in src/ after this lands.

Composition

Slice 9 targets (grew significantly since slice 8):

  • views/Settings.vue — 161 refs (Settings was split into tabs + audit log work)
  • views/ExecutionDetail.vue — 98 refs

Drift catch-up — slice 8 regressions (2 refs):

  • components/TasksPanel.vue (new session trigger badge)
  • components/AgentHeader.vue (BETA pill)

Drift catch-up — new files since slice 8 (39 refs):

  • components/SessionPanel.vue (28)
  • views/AgentWorkspace.vue (6)
  • components/settings/McpKeysTab.vue (5)

Drift catch-up — previously un-migrated files (~80 refs):

  • views/PublicChat.vue (16), components/process/RoleMatrix.vue (12), components/operator/QueueItemDetail.vue (10), components/ChatPanel.vue (8), components/ResourceModal.vue (7), components/SharingPanel.vue (6), components/FileSharingPanel.vue (6), components/OnboardingChecklist.vue (5), components/operator/QueueCard.vue (4), components/file-manager/FileTreeNode.vue (4), components/WhatsAppChannelPanel.vue (4), stores/operatorQueue.js (3), components/operator/QueueList.vue (2), components/operator/NotificationsPanel.vue (2), components/file-manager/FilePreview.vue (2), components/PublicLinksPanel.vue (2), views/Dashboard.vue (1)

Mappings (palette-equivalent — zero visual change)

  • yellowstatus-warning
  • greenstatus-success
  • redstatus-danger
  • orangestatus-urgent
  • amberstate-autonomous
  • rosestate-locked
  • purpleaccent-purple

After this lands

Slice 10 (final) can focus on:

  1. Defining new token families (action-primary for indigo, state-selected for selected-state blue)
  2. Migrating the deferred indigo/blue/sky/teal residuals

Verification

  • grep -rE '(text\|bg\|border\|ring\|...)-(red\|green\|yellow\|orange\|amber\|rose\|purple)-\d+' src/0 results
  • npm run check:tokens → ✅ 10 tokens equivalent, all references resolve
  • npm run build → ✅ clean
  • e2e smoke: deferred to CI (local stack was down)

Test plan

  • frontend-build CI green
  • frontend-e2e CI green (label: ui)
  • Manual sanity: Settings tabs, ExecutionDetail, PublicChat, OperatingRoom render correctly

Part of #554 — final mechanical sweep before slice 10's structural work.

🤖 Generated with Claude Code

Final design-system sweep. Migrates the last 24 files with raw semantic
palette references to the token system (#554).

Slice 9 targets (judgment-heavy, grew significantly since slice 8):
- views/Settings.vue (161 refs — Settings split into tabs + audit log)
- views/ExecutionDetail.vue (98 refs)

Drift catch-up — slice 8 regressions:
- components/TasksPanel.vue (new `session` trigger badge)
- components/AgentHeader.vue (BETA pill)

Drift catch-up — new files since slice 8:
- components/SessionPanel.vue (28 refs)
- views/AgentWorkspace.vue (6 refs)
- components/settings/McpKeysTab.vue (5 refs)

Drift catch-up — previously un-migrated files:
- views/PublicChat.vue (16)
- components/process/RoleMatrix.vue (12)
- components/operator/QueueItemDetail.vue (10)
- components/ChatPanel.vue (8)
- components/ResourceModal.vue (7)
- components/SharingPanel.vue (6)
- components/FileSharingPanel.vue (6)
- components/OnboardingChecklist.vue (5)
- components/operator/QueueCard.vue (4)
- components/file-manager/FileTreeNode.vue (4)
- components/WhatsAppChannelPanel.vue (4)
- stores/operatorQueue.js (3)
- components/operator/QueueList.vue (2)
- components/operator/NotificationsPanel.vue (2)
- components/file-manager/FilePreview.vue (2)
- components/PublicLinksPanel.vue (2)
- views/Dashboard.vue (1)

Mappings (palette-equivalent — no visual change):
- yellow → status-warning
- green  → status-success
- red    → status-danger
- orange → status-urgent
- amber  → state-autonomous
- rose   → state-locked
- purple → accent-purple

Post-migration the entire frontend has zero raw semantic palette
references — slice 10 can now focus on defining action-primary /
state-selected token families and cleaning up the deferred
indigo/blue/sky/teal residuals.

Verification:
- grep across src/ for raw semantic colors → 0 results
- npm run check:tokens → 10 tokens equivalent, all references resolve
- npm run build → clean
- e2e: deferred to CI (local Trinity stack was down)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@oleksandr-korin oleksandr-korin added the ui PR touches the frontend UI — triggers Playwright e2e tests label May 12, 2026
Review caught a perl regex bug that affected both slice 8 (#614, already
on dev) and slice 9 (this PR). The bulk-migration prefix list included
`accent` (intended for Tailwind's `accent-*` form-control utility), but
this matched already-migrated `accent-purple-X` references and
double-substituted them to `accent-accent-purple-X`.

Tailwind silently rendered the typo'd class as form-control accent color
with shade — visually identical purple, but syntactically broken and
unintended. Reverts all `accent-accent-purple` → `accent-purple` across
the 8 affected source files:

- DashboardPanel.vue       (pre-existing from slice 8, now fixed)
- AgentHeader.vue          (introduced in slice 9)
- TasksPanel.vue           (introduced in slice 9, slice 8 had it too)
- settings/McpKeysTab.vue  (introduced in slice 9)
- operator/QueueItemDetail (introduced in slice 9)
- operator/QueueList       (introduced in slice 9)
- operator/QueueCard       (introduced in slice 9)
- operator/NotificationsPanel (introduced in slice 9)

Verified clean: zero `accent-accent` patterns in src/, check:tokens
passes, build clean.

Note for slice 10: the perl regex needs `accent` removed from the
prefix-list alternation to prevent re-introduction.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@oleksandr-korin
oleksandr-korin requested a review from vybe May 12, 2026 10:18

@vybe vybe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Clean mechanical sweep — zero behavior change, correct token mappings, accent-accent-purple double-prefix caught and fixed in the same PR. CI fully green including e2e.

@vybe
vybe merged commit a41feea into dev May 12, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ui PR touches the frontend UI — triggers Playwright e2e tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants