Orchestrator-aware claudio: spawn target + sidebar#1
Merged
Conversation
Foundational change for the claudio PTY spawn-target work. The GUI needs cwd + command at PTY-spawn time, and the daemon now stores both alongside the existing fields. Assisted-By: Claude Code Pedro Silva
Lets external callers request a PTY rooted at a specific directory with a specific entry command, instead of always inheriting cwd and execing the user's $SHELL with claude. Server call site passes None for both until the IPC surface widens in the next commit. Assisted-By: Claude Code Pedro Silva
Additive change. Old clients continue to work because both fields are serde-defaulted to None. Existing GUI/server/client call sites pass None until later commits wire real values through. Assisted-By: Claude Code Pedro Silva
Extends Request::New, server dispatch, send_new_session, and the SessionCreated event so the GUI can spawn a PTY rooted at a specific cwd running a specific argv when the daemon is asked from the CLI. External callers (orchestrator, scripts) now have parity with the GUI's own NewSession / NewSessionInDir flows. Existing GUI flows push None onto pending_commands to keep the FIFO queues in lock-step. Assisted-By: Claude Code Pedro Silva
Mirrors the new IPC surface so external callers (orchestrator skill, scripts) can ask the daemon to spawn a PTY rooted in a worktree running a specific argv -- e.g. claudio new --name x --cwd /path --mode listening -- claude "Read starter.md and follow it." Assisted-By: Claude Code Pedro Silva
Adds a Unix-socket round-trip test that asserts the IPC client forwards cwd+command verbatim, plus a manager-level test covering the daemon-side store. Promotes ipc/session modules to a lib target so integration tests can reach them. Assisted-By: Claude Code Pedro Silva
Adds a 48px left rail for switching between sidebar activities, replacing the single-purpose file-tree visibility toggle on the status bar. Sidebar pane content now swaps based on the selected activity. Orchestrator view is stubbed until the next commit. Assisted-By: Claude Code Pedro Silva
Walks ~/.claude/orchestrator/*/*/STATUS.md, parses YAML frontmatter, classifies handoff state. Pure functions, fully unit tested. Will be consumed by the orchestrator sidebar widget in the next commit. Assisted-By: Claude Code Pedro Silva
Polls ~/.claude/orchestrator state every 2s, renders one row per feature with state badge, handoff indicator, and last log line. Click focuses the matching PTY when present, otherwise spawns a new claudio session in the recorded worktree running `claude "Read <starter> and follow it."`. Assisted-By: Claude Code Pedro Silva
Activity-bar selection is the single source of truth for which sidebar pane is visible. Existing Ctrl-B keybinding now sets active_activity to Files; new Ctrl-Shift-O selects Orchestrator. Assisted-By: Claude Code Pedro Silva
Assisted-By: Claude Code Pedro Silva
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.
Adds two surfaces so the
/orchestratorskill can spawn directly into claudio:claudio new --cwd <path> -- <argv>lets any external caller request a PTY rooted in a worktree running a specific command.~/.claude/orchestrator/*/*/STATUS.mdevery 2s, surfaces state, last log line, and handoff blockers; click a row to focus or spawn its session.The existing Files sidebar moves into the same activity-bar slot system. Default mode for orchestrator-initiated sessions is
listening(TTS on, voice off).