Skip to content

Figma Redesign Cleanup Report (2026-02-09)

Scope

  • Repo: workset
  • Focus: redesign surfaces in Wails frontend and API-to-UI data trust
  • Audit goals:
  • eliminate synthetic/mock-like UI data where users expect real API state
  • identify regressions, dead code, and UX trust gaps
  • produce a concrete cleanup backlog with implementation order

Implemented In This Pass

  1. Workspace snapshots now preserve workspace entries when workset.yaml or state is unhealthy.
  2. Behavior:
  3. missing workset.yaml: workspace still returned with empty repo list
  4. corrupt state: workspace and repos still returned; tracked PR state omitted
  5. Files:
  6. pkg/worksetapi/workspace_snapshots.go
  7. pkg/worksetapi/workspace_snapshots_test.go

  8. Reorder API now fails on unknown workspace IDs to prevent frontend/backend drift.

  9. Behavior:
  10. request returns NotFoundError when payload contains stale workspace IDs
  11. Files:
  12. pkg/worksetapi/workspaces_ui.go
  13. pkg/worksetapi/workspaces_ui_test.go

  14. Snapshot payload now includes real repo branch/ahead/behind/diff/file data directly from backend APIs.

  15. Behavior:
  16. ListWorkspaceSnapshots(includeStatus=true) now includes currentBranch, ahead, behind, diff, and files
  17. values are sourced from real local git status and diff summary APIs
  18. frontend no longer performs per-repo fan-out hydration calls
  19. Files:
  20. wails-ui/workset/app_workspaces.go
  21. wails-ui/workset/frontend/src/lib/api/workspaces.ts
  22. wails-ui/workset/frontend/src/lib/api.workspace-terminal.test.ts

  23. Synthetic recency fallback removed.

  24. Behavior:
  25. no longer forces lastUsed to “now” when missing
  26. unknown timestamps remain empty and sort as oldest in local derived ordering
  27. Files:
  28. wails-ui/workset/frontend/src/lib/api/workspaces.ts
  29. wails-ui/workset/frontend/src/lib/state.ts

  30. UX trustfulness fixes for controls and actions.

  31. Behavior:
  32. PR checks action now says Refresh checks (truthful semantics)
  33. cockpit controls that have no backend behavior are disabled and marked coming soon
  34. Files:
  35. wails-ui/workset/frontend/src/lib/components/views/PROrchestrationView.svelte
  36. wails-ui/workset/frontend/src/lib/components/views/TerminalCockpitView.svelte

  37. Locale-aware relative time formatting introduced.

  38. Behavior:
  39. shared formatter now uses Intl.RelativeTimeFormat
  40. PR/workset view-models share one implementation
  41. Files:
  42. wails-ui/workset/frontend/src/lib/view-models/relativeTime.ts
  43. wails-ui/workset/frontend/src/lib/view-models/prViewModel.ts
  44. wails-ui/workset/frontend/src/lib/view-models/worksetViewModel.ts
  45. wails-ui/workset/frontend/src/lib/view-models/prViewModel.test.ts

  46. Warning burn-down completed for a11y/css/no-console issues identified in redesign surfaces.

  47. Behavior:
  48. fixed label associations in settings and skill registry
  49. removed unused selector warnings tied to icon classes
  50. removed production console.warn/error paths in the touched redesign surfaces
  51. Files:
  52. wails-ui/workset/frontend/src/lib/components/settings/sections/AliasManager.svelte
  53. wails-ui/workset/frontend/src/lib/components/settings/sections/GroupManager.svelte
  54. wails-ui/workset/frontend/src/lib/components/views/SkillRegistryView.svelte
  55. wails-ui/workset/frontend/src/lib/components/RepoDiff.svelte

  56. Playwright coverage expanded to validate API-backed repo metadata rendering.

  57. Added assertions:
  58. command center branch/ahead/behind values match API snapshot payload
  59. File:
  60. wails-ui/workset/frontend/e2e/redesign-flows.spec.ts

  61. Comprehensive Playwright suite added for redesign stabilization and regression prevention.

  62. Added:
  63. shared app/API harness utilities for Wails API reads and stable navigation setup
  64. shell navigation coverage (rail views, command palette shortcut, settings modal lifecycle)
  65. workset hub stat parity coverage against live snapshots
  66. command center stat and repo-metadata parity coverage
  67. PR orchestration count parity and checks-copy trustfulness coverage
  68. cockpit + settings behavior and API-backed library-count coverage
  69. Files:
  70. wails-ui/workset/frontend/e2e/helpers/app-harness.ts
  71. wails-ui/workset/frontend/e2e/navigation-shell.spec.ts
  72. wails-ui/workset/frontend/e2e/workset-hub-command-center.spec.ts
  73. wails-ui/workset/frontend/e2e/pr-orchestration-flows.spec.ts
  74. wails-ui/workset/frontend/e2e/cockpit-settings.spec.ts

Validation Executed

Go

  • go test ./... (pass)
  • golangci-lint run (pass, 0 issues)

Frontend

  • npm run lint (pass)
  • npm run check (pass, 0 warnings)
  • npm run test (pass, 74 files / 332 tests)
  • npm run build (pass, bundle-size warnings remain)
  • npm run test:e2e (pass, 15/15)

Playwright (live Wails app)

  • wails-ui/workset/frontend/e2e/redesign-flows.spec.ts
  • wails-ui/workset/frontend/e2e/navigation-shell.spec.ts
  • wails-ui/workset/frontend/e2e/workset-hub-command-center.spec.ts
  • wails-ui/workset/frontend/e2e/pr-orchestration-flows.spec.ts
  • wails-ui/workset/frontend/e2e/cockpit-settings.spec.ts
  • Passed flows:
  • command palette open from context bar
  • rail navigation across all primary redesign surfaces
  • command palette keyboard shortcut behavior
  • settings modal open/close lifecycle
  • workset hub stat-pill parity with API snapshot totals
  • command center repo-details navigation + API-backed stat assertions
  • command center branch/ahead/behind values match API snapshot
  • cockpit workspace/repo context parity and no-op control disabled-state assertions
  • settings section switching and API-backed catalog/template count assertions
  • onboarding templates from API-backed catalog
  • onboarding workspace-name default safety check
  • PR orchestration sidebar counts vs API-backed tracked PR data
  • PR orchestration checks action wording trustfulness (Refresh checks)

Current Findings (Severity Ordered)

High

  1. None currently open in redesigned data path after this pass.

Medium

  1. Build remains heavy due syntax-highlighting chunks and one mixed static+dynamic import warning.
  2. Evidence: npm run build chunk-size output and dynamic import warning for terminal service.
  3. Impact: slower cold-load/bundle churn; no functional correctness impact.
  4. Files:
  5. wails-ui/workset/frontend/vite.config.ts
  6. wails-ui/workset/frontend/src/lib/components/SettingsPanel.svelte
  7. wails-ui/workset/frontend/src/lib/components/TerminalWorkspace.svelte

Low

  1. Some view-level error paths still degrade silently by design (non-blocking UI behavior).
  2. Candidate follow-up: add lightweight toast plumbing for non-fatal action failures.

Task Breakdown (Next Cleanup)

Track A: Bundle Performance and Build Noise

  1. Audit syntax-highlighting dependencies (@pierre/diffs) and trim language/theme payloads where feasible.
  2. Evaluate Vite v7 chunking strategy (rolldownOptions / chunk policies) for large generated language chunks.
  3. Remove mixed dynamic+static import duplication around terminal service loading.

Track B: UX Reliability Hardening

  1. Add non-fatal error toast channel for review/check actions that currently fail quietly.
  2. Add mutation-safe e2e coverage for pin/archive/settings save paths in an isolated fixture workspace.

Coverage Added In This Pass

  • Backend:
  • pkg/worksetapi/workspace_snapshots_test.go
  • pkg/worksetapi/workspaces_ui_test.go
  • Frontend unit:
  • wails-ui/workset/frontend/src/lib/api.workspace-terminal.test.ts
  • wails-ui/workset/frontend/src/lib/view-models/onboardingViewModel.test.ts
  • wails-ui/workset/frontend/src/lib/view-models/prViewModel.test.ts
  • Frontend e2e:
  • wails-ui/workset/frontend/e2e/redesign-flows.spec.ts
  • wails-ui/workset/frontend/e2e/navigation-shell.spec.ts
  • wails-ui/workset/frontend/e2e/workset-hub-command-center.spec.ts
  • wails-ui/workset/frontend/e2e/pr-orchestration-flows.spec.ts
  • wails-ui/workset/frontend/e2e/cockpit-settings.spec.ts
  • wails-ui/workset/frontend/e2e/helpers/app-harness.ts
  1. Track A (bundle/chunk performance)
  2. Track B (error-surfacing polish)