Skip to content

fix(kanban): list the configured agents in the Delegate dialog (#116) - #119

Merged
Lexus2016 merged 1 commit into
mainfrom
fix/116-kanban-delegate-dialog
Sep 23, 2026
Merged

Lexus2016 merged 1 commit into
mainfrom
fix/116-kanban-delegate-dialog

Conversation

@Lexus2016

Copy link
Copy Markdown
Owner

Fixes #116.

Root cause

GET /api/external-agents answers the agent map itself (res.json(config.externalAgents || {}), server.js; the SPA reads it that way, index.html). kanban.html read res.agents off it, so since #109 the Kanban Delegate dialog showed "No agents configured (add via Settings)" on every install, including one with the four built-in agents. The missing provider, models and effort context in the report all come from that empty list: an agent card IS the provider (Codex, Gemini, Claude Code…), and Model/Effort are filled from the selected agent's catalog.

Changes (public/kanban.html)

  • loadExternalAgents() reads the map; an error body or an array → {}.
  • The empty state names the real place: the Agents section of the main page's sidebar, "with a command template" (terminal-only agents cannot take a delegation). The old text said "Settings", and no such place exists.
  • A one-line hint under Model/Effort: the options come from the agent's own catalog, and "—" leaves the choice to the agent.
  • The success toast says where to follow the run: the ⇗ badge on the card, which opens the status/dialog view.
  • 5 locales; i18n-completeness 139/0.

Verification

  • npm test → exit 0.
  • test/kanban-delegation.test.js: new check runs the real loadExternalAgents against the server's response shape, and pins that shape in server.js. It fails against main's kanban.html.
  • Headless Chromium, throwaway server, dialog opened for a real task (delegation NOT submitted, since that opens an OS terminal):
    • main: cards: [], "No agents configured (add via Settings)", even with agents configured.
    • this branch: ⚡Codex, 🟠Claude, Antigravity CLI, opencode; Model gpt-5, o4, Effort low, high from the agent's catalog; hint visible; 0 page errors.

Not in scope (answered in the issue)

  • A separate Provider → Model tree: the agent card already is the provider, and models are per-agent by design (the server allow-lists them against that agent's catalog).
  • A live terminal inside the board: handoff opens a terminal on the machine the studio runs on, so there is no terminal window in Docker/headless setups. Progress is visible via the ⇗ card badge → status dialog.

🤖 Generated with Claude Code

GET /api/external-agents answers the agent map itself (the SPA reads it
that way), but the board read `res.agents` off it, so since #109 the
Kanban Delegate dialog said "No agents configured" on every install -
even with the four built-in agents present. Picking the agent, the model
and the effort all depended on that list, which is why the dialog looked
like it had no provider, no models and no context.

- loadExternalAgents() reads the map; an error body or an array is {}.
- The empty state now says where agents actually live (the Agents section
  of the main page's sidebar, with a command template) instead of
  "add via Settings", which pointed nowhere.
- One hint line under Model/Effort: the options come from that agent's
  own catalog, and "-" leaves the choice to the agent.
- The success toast says where to follow the run: the ⇗ badge on the card.

test/kanban-delegation.test.js runs the real loadExternalAgents against
the server's response shape, and pins that shape on the server side too.

Fixes #116

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Lexus2016
Lexus2016 merged commit de12dfc into main Sep 23, 2026
2 checks passed
@Lexus2016
Lexus2016 deleted the fix/116-kanban-delegate-dialog branch September 23, 2026 12:04
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.

Bug / UX Issue: Delegate Dialog Is Missing Critical Configuration Options

1 participant