githubnext/chopinPublic

Let's compose rich plans together

Keep ended workflow runs as summary cards and show blocked runs as blocked

A run card vanished the moment its last run ended, because Chat kept
cards only while a run was live or paused. Keep ended cards as a one-line
summary with the stage list behind a toggle. A run Atomic ends as
blocked, for example at its review limit, showed as failed; it now shows
as blocked, and the transcript line says it ended blocked.

Assistant-model: Claude Opus 5.5
Assistant-workflow: inline
Assistant-verification: bun test passed: 1755 pass, 2 PostgreSQL skips, 0 fail
Assistant-verification: bun run types passed: all workspaces
Assistant-verification: bun run ci passed: dprint, oxlint, tokens, type scale, Impeccable (no new findings)
Assistant-verification: agent-browser E2E failed before this change: a run blocked at its review limit disappeared from Chat and its transcript line said "failed after 31 min"
Co-authored-by: Alex Lavaee <lavaman131@github.com>
ALAlex Lavaee authored
891bfd7Patch
Parent817692b
7 files changed+72-37
StackedSplit
apps/server/src/chat/invoke.test.ts+2 โˆ’2
apps/server/src/chat/service.ts+4 โˆ’3
apps/server/src/harness/atomic/full.ts+5 โˆ’2
apps/web/src/chat/run-card.tsx+45 โˆ’28
apps/web/src/design-audit/inventory.ts+1 โˆ’1
apps/web/src/design-audit/surfaces.tsx+14 โˆ’0
packages/protocol/chat.d.ts+1 โˆ’1