Repository navigation
caos-cli: remove /pr, /publish-branch and the client publisher - #302
Merged
nishu-builder merged 6 commits intoOct 5, 2026
Conversation
The agent publishes now: publish_source pushes the commit from the
server's store and the github tool opens or updates the PR
(design/agent-github.md, "PRs"). The client's own path to the same end
goes, and with it the client's need for gh, a host git push, and a
local copy of the history it publishes.
Removed:
- TUI: the /pr and /publish-branch commands, the preview modal and its
key and mouse handling, the publishing state and its status, sidebar
and footer rendering, and the PublicationPlanned, Published and
PublicationBaseImported messages (bin/tui/publication.rs).
- Library: src/publication.rs (gh pr create/edit), the publication
half of source_trees.rs (preview, provenance inference, base import,
default_branch, branch_snapshot), the PR half of host_git.rs, and in
lib.rs the client push (publish_source_tree_branch and friends),
reject_publish_caos, publication_diagnostic, PublishedBranch, and
append_system_notice, which only the publisher called.
- Their tests.
Kept: publication records stay readable. The agent's publish_source
still writes them, and conversation_load still summarizes them; a new
test appends one the way llm-step does and loads it back. Two escape
key tests lose their publishing cases and keep the running ones.
Docs: chat.md's "Publishing with /pr" becomes a short "Publishing"
pointing at the agent's tools; TUI.md, SPEC.md ("Publication"),
README.md and agent-harness.md drop the commands.
cargo test -p caos-cli: 39/39 lib, 148/150 bin. The two failures,
plain_commit_fork_failure_never_becomes_a_markerless_conversation and
checkout_import_completes_partial_history_and_keeps_local_edits, fail
identically without this change on this machine's git 2.43 (a promisor
lazy fetch, and a git error message). cargo clippy -p caos-cli
--all-targets -- -D warnings and cargo fmt --all --check are clean.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CZGkTta5NYxhXcLPZwH3q1
…upbeat-lovelace-1xy4qn-remove-pr
Follows the review on #300, now merged in: the GitHub caller is the std tool caos-std/github, and publication has no conflict check. SPEC.md, chat.md and TUI.md name the tool, and SPEC.md and TUI.md no longer say a .caos entry blocks publication: resolving a conflict clears its entry and saving removes the emptied ledger, so one left in a published commit is an unresolved conflict, like code that does not build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CZGkTta5NYxhXcLPZwH3q1
…upbeat-lovelace-1xy4qn-remove-pr
…upbeat-lovelace-1xy4qn-remove-pr
nishu-builder
added this pull request to stack #306
October 5, 2026 07:30
…thub-tool' into claude/upbeat-lovelace-1xy4qn-remove-pr
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Third of three, stacked on #301 (
std/github), which sits on #300 (the design). Net about −2,400 lines.The agent publishes now:
publish_sourcepushes the commit from the server's store, andcaos-std/githubopens or updates the PR. This removes the client's own route to the same end. With it goes the client's need forgh, a host-sidegit push, and a local copy of the history it publishes.Removed
/prand/publish-branch; the preview modal and its key and mouse handling; thepublishingstate and its status, sidebar and footer rendering; and thePublicationPlanned,PublishedandPublicationBaseImportedmessages (bin/tui/publication.rs).src/publication.rs:gh pr create/gh pr edit.source_trees.rs: the publication half: preview, provenance inference, base import,default_branch,branch_snapshot.host_git.rs: the PR half.lib.rs: the client push (publish_source_tree_branchand friends),reject_publish_caos,publication_diagnostic,PublishedBranch, andappend_system_notice, which only the publisher called.Kept
publish_sourcestill writes them, andconversation_loadstill summarizes them. A new test appends one the way llm-step does and loads it back.publishingcases and keep therunningones.Docs
chat.md's "Publishing with/pr" becomes a short "Publishing" section pointing atpublish_sourceandcaos-std/github.TUI.md,SPEC.md("Publication"),README.mdandagent-harness.mddrop the commands.SPEC.mdandTUI.mdno longer say a.caosentry blocks publication: nothing checks for it at publish time.Testing
cargo test -p caos-cli: 39/39 lib tests and 148/150 bin tests pass. The two failures areplain_commit_fork_failure_never_becomes_a_markerless_conversationandcheckout_import_completes_partial_history_and_keeps_local_edits. They fail the same way on std/github: interact with PRs and stacks through github api #301's head, without this change, on this machine's git 2.43: one on a promisor lazy fetch, one on a git error message.cargo clippy -p caos-cli --all-targets -- -D warningsandcargo fmt --all --checkare clean.nix build. They need flake inputs from GitHub repos this session couldn't reach. The release workflow'snix build .#caos-clion push covers the client build.🤖 Generated with Claude Code
https://claude.ai/code/session_01CZGkTta5NYxhXcLPZwH3q1