Skip to content

fix(orchestration): match Orcastrators "+" weight to the Projects "+" - #33

Merged
zaridan merged 1 commit into
mainfrom
zaridan/fix-orch-orcastrators-plus-style
Jun 24, 2026
Merged

fix(orchestration): match Orcastrators "+" weight to the Projects "+"#33
zaridan merged 1 commit into
mainfrom
zaridan/fix-orch-orcastrators-plus-style

Conversation

@zaridan

@zaridan zaridan commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Problem

The ORCASTRATORS sidebar section's New-Orcastrator "+" rendered noticeably fainter than the Projects "+". The Orcastrators "+" was a raw <button> styled at 40% foreground opacity (text-worktree-sidebar-foreground/40) with strokeWidth={2}, while the Projects "+" in SidebarHeader.tsx is a full-strength shadcn Button.

Fix

In OrchestratorsSidebarSection.tsx, replace the raw faint <button> with the same shadcn Button markup the Projects "+" uses:

<Button variant="ghost" size="icon-xs" onClick={() => openModal('orchestrator-launch')} aria-label={...}>
  <Plus className="size-3.5" strokeWidth={2.25} />
</Button>

It now inherits the full-strength sidebar foreground (no /40 opacity) and matches the Projects "+" stroke weight (2.25). Existing onClick and aria-label are unchanged; Button is imported from @/components/ui/button.

Scope

  • Only the New-Orcastrator "+" button (+ the import). No other markup, the close "X", or SidebarHeader touched.
  • No tooltip added (out of scope — this is the color/weight parity fix); accessibility aria-label preserved.

Checks

  • ✅ typecheck (web)
  • ✅ oxlint
  • ✅ vitest (the one failing test, src/relay/subprocess.test.ts, is a pre-existing flaky timing test — passes in isolation; unrelated to this UI change)
  • ✅ electron-vite build

🤖 Generated with Claude Code

The New-Orcastrator "+" was a raw <button> at 40% foreground opacity with
strokeWidth={2}, rendering noticeably fainter than the Projects "+". Swap it
for the same shadcn <Button variant="ghost" size="icon-xs"> the Projects "+"
uses, so it inherits full-strength sidebar foreground and matches stroke weight.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@zaridan
zaridan merged commit 42a066a into main Jun 24, 2026
1 check passed
@zaridan
zaridan deleted the zaridan/fix-orch-orcastrators-plus-style branch June 24, 2026 18:10
zaridan added a commit that referenced this pull request Jun 24, 2026
Removes the experimental recipe-Orcastrator layer (PRs #9/#10/#11) while
leaving the Smart/LLM director, the F1–F4 orchestration bridge, and the
Control Panel / Mission Control fully intact and working.

Deleted (recipe-specific files + tests):
- lib/recipe-director-launch.ts
- lib/recipe-director-recipes.ts
- lib/director-backend.ts (the DirectorBackend abstraction)
- components/director/DirectorTypePicker.tsx

Reverted recipe wiring in shared files (recipe parts only):
- OrchestratorLaunchModal.tsx — the "New Orcastrator" flow launches the
  Smart/LLM director directly via launchOrchestratorForProject again; no
  director-type picker, no recipe option.
- rpc/methods/orchestration.ts + shared/orchestration-binding.ts — dropped
  the recipe-only `targetWorktree` taskCreate param; taskCreate again stamps
  target_key from the caller terminal's worktree. The bridge/run/taskCreate
  plumbing the Smart director + Control Panel use is unchanged.
- i18n/locales/*.json — removed the DirectorTypePicker keys (all locales).

Kept (shared infra the Smart director depends on):
- lib/director-worktree-shell.ts — extracted out of orchestrator-launch.ts
  by #9 and still used by the surviving Smart-director launch path.
- orchestrator-launch.ts (launchOrchestratorForProject), the F1–F4 bridge
  (per-run isolation, coordinator worktrees, preload run/taskCreate), the
  Mission Control live activity line, and the shipped-scope + focus-steal fixes.
- The OrchestratorsSidebarSection "+" styling/alignment fixes (#33) — not
  recipe code; the "+" already opens the launch modal directly.

Recoverability: the pre-removal state is parked on
origin/parked/recipe-director, and this PR can be reverted to restore recipes.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant