Skip to content

fix(onboarding): show workers-only engines as disabled rows instead of hiding them - #415

Open
Vasilispapg wants to merge 2 commits into
chaitanyagiri:mainfrom
Vasilispapg:fix/onboarding-show-ineligible-engines
Open

fix(onboarding): show workers-only engines as disabled rows instead of hiding them#415
Vasilispapg wants to merge 2 commits into
chaitanyagiri:mainfrom
Vasilispapg:fix/onboarding-show-ineligible-engines

Conversation

@Vasilispapg

Copy link
Copy Markdown

What & why

The onboarding engine step filtered to inbox-capable providers, so Copilot (and Kimi) simply vanished — which reads as "not supported at all" (issue #355), while Settings → prerequisites happily shows Copilot two screens later. The real constraint is narrower: a print-mode / bridge-less CLI can be hired as a worker but cannot run Michael, because the orchestrator must drain hive mail. The step now shows every preset engine: the god-eligible set stays selectable exactly as before (same order), and the workers-only engines render at the bottom as disabled rows — muted, radio disabled, a WORKERS ONLY badge, and a one-line hint saying why and that hiring them as workers still works. custom stays hidden (a bring-your-own command, not a preset engine). The split lives in one tested helper (onboardingEngineChoices()), and the strings landed in all three locales (en / ar / zh-CN).

Closes #355

Type of change

  • Bug fix
  • New feature
  • Refactor / cleanup
  • Docs
  • Build / CI

Evidence

Before

Onboarding step 2 on main, scrolled to the bottom: the list ends at Cursor — Copilot and Kimi are nowhere, with no explanation:

Engine step on main — Copilot and Kimi simply absent

After

The same step, same window size and theme: Kimi Code and Copilot appear at the bottom as disabled WORKERS ONLY rows with the reason ("Can't drain hive mail yet, so it can't run your clone — still available when hiring workers"); the selectable set above is unchanged:

Engine step with workers-only rows shown disabled

How I tested it

  • OS: macOS 26 (Darwin 25.6.0), Node 22.23.2
  • Steps:
    • Wrote the failing test first (onboardingEngineChoices split: selectable === god-eligible set in the same order, workers-only === ['kimi','copilot'], custom in neither), watched it fail, then implemented: node test/provider-config.test.cjs — 8/8 pass.
    • npm run typecheck (node + web) passes; npm run test:focused — 746/746; npm run build succeeds.
    • npm run dev, walked onboarding to the engine step on this branch and on main at the same window size (screenshots above); confirmed the disabled rows can't be selected and the radio/model flow for eligible engines is untouched.
    • New UI uses existing tokens only (--cth-paper-100, --cth-ink-300/500, --cth-font-display) — no new colors or spacing values.

Discord (optional)

Discord:

Checklist

  • Before and after evidence is attached above, under both headings.
  • npm run typecheck passes.
  • npm run test:focused passes.
  • npm run build succeeds.
  • This PR is one change. Unrelated fixes belong in their own PR.
  • I read the diff myself before opening this, and there is no debug output, commented-out code, or unrelated formatting churn in it.
  • Any new UI derives from DESIGN.md / tokens.ts — no ad-hoc colors, spacing, or fonts.
  • If I added art, it's my own or compatibly licensed, and listed in ATTRIBUTION.md. (No art added — only existing tokens and icons.)

…f hiding them

The engine step filtered to inbox-capable providers, so Copilot and Kimi
simply vanished — which read as "not supported at all" (issue chaitanyagiri#355), when
the real constraint is narrower: a print-mode / bridge-less CLI can be
hired as a worker but cannot run Michael, who must drain hive mail.

List every preset engine instead: the god-eligible set stays selectable
(same order as before), and the workers-only engines render at the bottom
as disabled rows — muted, radio disabled, a WORKERS ONLY badge, and a
one-line hint saying why and that hiring them as workers still works.
`custom` stays hidden (bring-your-own command, not a preset engine).

New onboardingEngineChoices() in the config store keeps the split in one
tested place; strings added to en/ar/zh-CN.

Closes chaitanyagiri#355
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.

Github Copilot is missing in the list of engines during onboarding

1 participant