Skip to content

feat(studio): #1250 — Kanban lifecycle view over run status#1268

Open
ohdearquant wants to merge 1 commit into
mainfrom
show/lionagi-sweep/studio-kanban
Open

feat(studio): #1250 — Kanban lifecycle view over run status#1268
ohdearquant wants to merge 1 commit into
mainfrom
show/lionagi-sweep/studio-kanban

Conversation

@ohdearquant

Copy link
Copy Markdown
Owner

#1250 — Kanban lifecycle board

"DAG = topology view, Kanban = lifecycle view." A read-only Kanban projecting plays/sessions onto lifecycle lanes, derived from the existing run-status field.

What shipped

  • New Kanban page (apps/studio/frontend/app/kanban/page.tsx, +300) + nav entry.
  • Lanes derived from the canonical VALID_SESSION_STATUSES (lionagi/state/db.py:206) + documented runs-service aliases — no invented enum. Mapping: Queued/Pending → In Progress (running) → Review → Done (completed) → Failed (failed/timed_out/cancelled).
  • Cards: name, project, status, agent count, elapsed, link to detail; lane headers show counts.
  • Live 3s poll (verbatim mirror of the runs-page pattern, active-guard + cleanup); empty lanes + zero-running handled.

Decoupled from orch-emissions (by design)

Maps existing statuses today — does not depend on the not-yet-merged #1251 lifecycle signals. The Review lane is intentionally empty pending that; richer #1251-signal lane derivation is the documented follow-up.

Read-only is deliberate

/api/runs/ is list/get only; the sole transition endpoint (/api/admin/transition) is bearer-gated + terminal-only. No fake client-side transitions — drag-to-transition deferred until a real endpoint exists.

Verification

pnpm typecheck clean · pnpm lint 0 errors (2 warnings pre-existing, unrelated files) · pnpm build emits /kanban static route · prettier clean.

Gate

critic verdict: APPROVE — CRIT:0 MAJ:0 MIN:2 PASS:9. Independently re-verified against the worktree + live status counts.

Closes #1250

🤖 Generated with Claude Code

Adds /kanban page with six lanes derived from canonical session statuses
(queued/in-progress/review/done/failed/cancelled). Cards show name, project,
status pill, agent count, elapsed, and link to detail. Auto-refreshes every
3 s reusing the exact polling pattern from /runs. Read-only — drag-to-transition
deferred (no /api/runs/ transition endpoint exists). Review/Waiting lane is
intentionally empty until #1251 lifecycle-signal enrichment is merged.
Nav entry added in Work group adjacent to Shows and Runs.

Co-Authored-By: Claude Sonnet 4.6 <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.

feat(studio): Kanban board as a live view over the signal-emission system

1 participant