Skip to content

Report each TUI publication stage in the live status - #168

Merged
nishu-builder merged 1 commit into
mainfrom
claude/pr-publishing-caos-agent-mil3g8-1-status
Aug 31, 2026
Merged

Report each TUI publication stage in the live status#168
nishu-builder merged 1 commit into
mainfrom
claude/pr-publishing-caos-agent-mil3g8-1-status

Conversation

@nishu-builder

Copy link
Copy Markdown
Contributor

Independent PR based on main (replaces #159, the last member of the original GitHub-managed stack, which cannot be edited or re-based via the API; merges cleanly in any order with #165 and #166).

Publishing previously showed one generic status for its whole pipeline: the thread set "fetching the selected PR base" once, and after the preparation turn completed, the sidebar and activity row sat on "completed <hash>" while the branch push and gh PR lookup were still running.

Now:

  • Both publish flows (Ctrl+P and /publish-branch) send a TurnEvent::Status per stage — fetching the base tip (named), sending the base to the caos server, starting the preparation turn, validating the prepared workspace, pushing caos/<conversation>, and finding or opening the pull request.
  • A tool running inside the preparation turn now shows through with its own verb (Running… $ cargo test) in the activity row and the sidebar, instead of hiding behind the generic "Publishing" — the publish branch of render_live_activity/sidebar_text yields to a running activity.
  • The gh half of publish_conversation_pr is split into find_or_open_conversation_pr so the flow can report the branch push and the PR lookup separately (no behavior change in either half).

Validation: cargo test -p caos-cli on this branch (140 tests, including two new rendering tests) and cargo fmt --check. The full caos suite (caos-cli run dev/run-tests on a stack built from these sources) was run on the merge of this PR with #165 and #166 on current main: 46/47 passed — the one failure is tests/world-guard, which SPEC ("Building and testing caos") documents as expected when the suite runs against a host stack instead of inside the test container.


Generated by Claude Code

Publishing previously showed one generic status for its whole pipeline:
the thread set "fetching the selected PR base" once, and after the
preparation turn completed, the sidebar and activity row sat on
"completed <hash>" while the branch push and gh PR lookup ran. Now both
publish flows emit a status per stage — fetching the base tip, sending
the base to the caos server, the preparation turn, validating the
prepared workspace, pushing the branch, and finding or opening the PR —
and a tool running inside the preparation turn shows through with its
own verb instead of hiding behind "Publishing".

The gh half of publish_conversation_pr is split into
find_or_open_conversation_pr so the flow can report the branch push and
the PR lookup separately.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019FKeyxNMPfqcUR2Ts9ghqq
@nishu-builder
nishu-builder merged commit 4fef308 into main Aug 31, 2026
1 check passed
@nishu-builder
nishu-builder deleted the claude/pr-publishing-caos-agent-mil3g8-1-status branch August 31, 2026 19:55
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.

2 participants