feat(cloud): show chat shell during startup
Cloud chat shell during startup
On Send, Cloud now shows the user's message immediately in a stable chat shell with one compact Preparing machine status line. The startup checklist and machine facts sit behind a disclosure, which opens automatically when a step fails. When the remote harness is ready, the shell shows the ready state before the live transcript handoff; the existing serialized start and native seed keep the first message exactly once.
Before, the Cloud tab showed a multi-row infrastructure checklist while the start chain ran and the message waited for the remote chat. After, the message is visible immediately, startup detail is opt-in during a healthy start, and failure detail is immediately available.
Gallery variants cover preparing, ready, and failed-with-details-open states. The focused Cloud start test covers the first message being serialized exactly once across the handoff. New Tab coverage verifies the composer keeps its space while startup is active and restores one retry send after failure. Healthy and failed disclosure interactions are covered.
Leo: "the user acquisition has to come, and it has to come FAST aka we need it to work well feel good all that which is gonna entail far more work on the parts people actually see and feel vs the bean counting"
Tests run:
cmux-ci test -- bun test src/agent-session/acpmux/CloudStartView.test.tsx src/agent-session/acpmux/cloudStartProgress.test.ts src/agent-session/acpmux/cloudRun.test.ts src/agent-session/acpmux/newtab/NewTabScreen.test.tsxā 80 passed, 0 failed (run 41759552740, head37d691c24aed2ebe76e38fbc30094dd9af50cfc4).cmux-ci test -- bun run checkā typecheck, lint, catalog, protocol, and static checks completed; fast-gates reports the same base reds forcheck:design-tokensand typecheck, with no added failures.vp fmt --checkpasses forApp.tsx,CloudStartView.tsx, andCloudStartView.test.tsx.
Gallery references: Cloud start shell variants in CloudStartView.gallery.tsx (preparing, ready, failed details open).
š¤ Generated with Codex
Agent session: agent session