Skip to content

Headless driver-station access for a desktop agent - #14

Closed
vafc21 wants to merge 4 commits into
mainfrom
headless
Closed

vafc21 wants to merge 4 commits into
mainfrom
headless

Conversation

@vafc21

@vafc21 vafc21 commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds a headless way for a desktop AI agent (or any script) to drive the robot's driver station without the Godot UI: a persistent ds_agentd daemon owning one RobocolClient, and a one-shot JSON CLI ds_agent that talks to it over a Unix domain socket. Full command parity with ds_cli (list, init, run, stop, restart, config commands, device-types, scan, lynx-modules, gamepad, status, watch).

This PR carries the deck-station side:

  • docs/superpowers/specs/2026-09-10-headless-driver-station-agent-design.md — design spec (architecture, socket lifecycle, IPC protocol, command table, error codes, testing, rollout).
  • docs/superpowers/plans/2026-09-10-headless-driver-station-agent.md — the implementation plan it was built from.
  • README.md — new "Headless: letting an agent drive" section with cargo run -p ds_agent examples.

Depends on

The code itself lives in the robocol submodule (new workspace crates ds_agent_ipc, ds_agentd, ds_agent next to ds_cli), on branch headless-agent (16 commits over 0fe3d2c, head 74f26fc, scripts/lint.sh green: 28 unit + 2 end-to-end tests against fake_rc). That branch is up as whitehml/robocol#4, and the last commit here bumps external/robocol to it. Merge the robocol PR first so the submodule pointer lands on a commit reachable from its main.

Test plan

🤖 Generated with Claude Code

vafc21 and others added 3 commits September 10, 2026 19:44
Documents ds_agentd/ds_agent, a JSON daemon+CLI sibling to ds_cli in
the robocol submodule, so a desktop AI agent can drive opmodes,
configs, and telemetry without the Godot UI.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Points external/robocol at whitehml/robocol#4 (headless-agent, 74f26fc)
so the ds_agent commands documented in the README exist.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@whitehml

Copy link
Copy Markdown
Owner

Don't commit completed or solo plan files to the repo. I'd recommend adding docs/superpowers to a .git/info/exclude file in your clone of the repo. https://dev.to/fronkan/a-personal-gitignore-even-for-a-single-repository-4o7h - for other options as well

@whitehml

Copy link
Copy Markdown
Owner

Also given that the entire control surface here is cd into the external source and initiate from the command line, we don't need to update this repository at all.

@whitehml whitehml closed this Sep 21, 2026
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