Skip to content

ui: give the startup block a static settled form - #121

Merged
hbrooks merged 1 commit into
mainfrom
worktree-static-cloud-agent-header
Aug 20, 2026
Merged

ui: give the startup block a static settled form#121
hbrooks merged 1 commit into
mainfrom
worktree-static-cloud-agent-header

Conversation

@hbrooks

@hbrooks hbrooks commented Aug 20, 2026

Copy link
Copy Markdown
Member

Summary

  • The settled startup block rendered the session's LIVE status, so an old session opened with ✓ Session asleep as its first line. It now shows a static record of the start: ✦ Cloud agent session on ellipsis.dev + ⎿ Sandbox ready in 42s · 31 log lines, compressed the way a collapsed tool run is.
  • Live headline renamed to Starting cloud agent…; session_idle / session_resumed settle the block without rewriting its headline.
  • Falls back to Sandbox started · N log lines when no duration can be derived (old feeds with no phase_timings, wakes).

Test plan

  • bun run typecheck
  • bun run test (467 pass)
  • agent session connect on an old, asleep session: opening line reads as a past event, no live status
  • agent session connect on a fresh start: live headline ticks, build/setup log still streams, then collapses to the summary

Important

Changes the settled startup block to show a static one-line summary instead of rendering live session status.

When a session startup finishes, the block now displays a compressed record of the start event — e.g. Cloud agent session on ellipsis.dev with Sandbox ready in 42s · 31 log lines — the way a collapsed tool run does. Previously it would render live status (e.g. "Session asleep"), which made old sessions open with "Session asleep" as the first line of the conversation, which is not what happened first.

  • Live headline renamed to Starting cloud agent… while the session is coming up; the three settlement events (session_idle, session_resumed, sandbox_ready) now settle the block without rewriting its headline.
  • Added SandboxState.readySeconds to track sandbox provisioning duration from phase_timings; settlement builds a static one-line summary with sandboxSummary() instead of a live status.
  • sandboxRows() now renders two forms: a live version with ticking headline + log tail, and a settled version with the static summary line under the opener.
  • Falls back to "Sandbox started · N log lines" when duration is unavailable (old feeds, wakes).

This description was created by Ellipsis for b5ee90d. It will automatically update as commits are pushed.

…pens with what happened

The settled header rendered the session's LIVE state, so reading an old session
opened with "Session asleep" as its first line. It now compresses the start into
one static line, the way a collapsed tool run does.
@hbrooks
hbrooks merged commit f0fbeb7 into main Aug 20, 2026
1 check passed

@ellipsis-dev ellipsis-dev Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Looks good to me! 👍

Reviewed b5ee90d in 7 minutes, 34 seconds.
  • Reviewed 1 commit with 313 lines of code in 2 files
  • Ran 1 review agent producing 0 comments where 0 were posted
  • This pipeline runs no gatekeeper, so findings are posted as written.
  • View full details on ellipsis.dev

This review was created by Ellipsis. You can tag @ellipsis in this pull request.

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.

1 participant