Skip to content

Orchestrator-aware claudio: spawn target + sidebar#1

Merged
PFigs merged 11 commits into
mainfrom
claudio-pty-spawn-target
May 11, 2026
Merged

Orchestrator-aware claudio: spawn target + sidebar#1
PFigs merged 11 commits into
mainfrom
claudio-pty-spawn-target

Conversation

@PFigs

@PFigs PFigs commented May 11, 2026

Copy link
Copy Markdown
Owner

Adds two surfaces so the /orchestrator skill 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.
  • An "Orchestrator" activity in a new VS Code-style left rail. Polls ~/.claude/orchestrator/*/*/STATUS.md every 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).

PFigs added 11 commits May 11, 2026 13:15
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
@PFigs PFigs marked this pull request as ready for review May 11, 2026 11:14
@PFigs PFigs merged commit 17e9cc5 into main May 11, 2026
0 of 2 checks passed
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