Skip to content

Captain Code v0.3.5

Choose a tag to compare

@romainPellerin romainPellerin released this 03 Oct 21:13
· 42 commits to main since this release

Fixes

  • Busy workers are no longer killed. Every opencode-served leg (step, glm, kimi, ds4-flash and others) died at exactly 30 minutes, even mid-tool, because the HTTP client had a hidden 30-minute timeout. Past its base budget, a run was also cut after 90 seconds without events, even when the model had already paused longer between steps. Now a run past its budget ends only when it has been quiet longer than its own earlier pauses (at least 90 seconds), and the error says how long it actually ran.
  • One folder never gets another folder's answer. The same prompt on the same leg in two folders (for example "continue where we stopped") joined the other folder's run and showed its answer. Now runs are matched per folder, both live and when an answer is recovered after a restart. This also fixes a data race on the per-task budget.
  • The brain no longer runs without its egress proxy. If the proxy port is taken, the brain retries for 15 seconds and then exits, so the supervisor can start a complete brain. Before, every opencode call failed with "Cannot connect to API".
  • A source name without --source is refused. captain skills sync <name> used to ignore the name and every flag after it, and silently synced anthropics/skills.

Plain writing by default

  • On for every worker. The public-clarity-output skill is now stocked for every task, like security-audit. Every worker prompt gets a short plain-writing rule: simplified technical English, short sentences, active voice, no filler. That covers solo, /frontier, /team, workflow and /repeat workers. OpenShell sandbox workers get the rule inline, because they can't read the host's skills.
  • Turning it off: set CAPTAIN_WORKER_NOSLOP=0.
  • /noslop turns it back on for one turn, before or after any command: /noslop /openshell …, /team /noslop ….

Launcher

  • ./captaincode.sh -rr always builds the latest main: the newer of the local and origin copies, whatever branch the checkout is on. The checkout is never touched, and the binary still records which revision it was built from.
  • Building something else: -rr --branch <name> builds another branch. -rr --checkout builds the working tree, uncommitted edits included.
  • Restarts now stop every supervisor, including orphaned ones. An old supervisor could start a second brain at the same moment as a restart.

Docs

  • docs/ROUTING.md explains how a prompt without a / command is routed: the rating, the second opinion, the fast path and the director. It includes two weeks of picks and the known weak points.

Install or update: go install github.com/lemma-ventures/captaincode/cmd/captaincode@latest.