Skip to content

Captain Code v0.3.7

Choose a tag to compare

@romainPellerin romainPellerin released this 05 Oct 08:35
· 18 commits to main since this release

Privacy

  • Private names stay out. captain leakcheck checks staged lines and paths, a commit message, and every commit a push would send, against a list kept outside every repository (~/.config/captain/private-names). The .githooks pre-commit, commit-msg and pre-push hooks run it, and the launcher turns the hooks on at every start. A captain that predates the command is never called.
  • The list grows on its own. Once a day per folder, on this machine only, captain proposes names from the folders its TUIs work in; a repository GitHub reports private, or one with no remote, gets its name on the spot. /private in a TUI and captain private-names on the command line list, add, dismiss or remove a name. A list line starting with ! is an allowed phrase. CAPTAIN_PRIVATE_CURATE=0 turns curation off.
  • Workers carry the line. Every worker prompt, OpenShell sandboxes included, carries a private-names line (CAPTAIN_WORKER_PRIVATE_NAMES=0 drops it). keep-private-names-private, a published skill, is always stocked.

Skills

  • research-writing-style-1 is published. A writing skill for security and cryptography papers: the service before the mechanism, assumptions attached to claims, evidence-specific verbs, and prose a mixed audience understands on first read. The examples use one invented running case and name no author, paper or project.

Routing

  • OpenRouter hosts per band. A leg's overlay entry can set hosts per band (OpenRouter's provider block). The brain's proxy adds it to each request for that band's model, unless the request already names its hosts (a /deterministic pin).

TUI

  • The sidebar lists harness-provider. A row is claude-cli, codex-cli, grok-xai or openshell-nvidia, with its perf and run count. Version and effort are not on that list: a run reads harness:model@effort:x on Last Runs and in the session header. luna is not a row — it is gpt-6-luna, a version of the codex-cli harness.
  • The exit screen resumes through the launcher. On close the TUI prints <launcher> -s <id>, not bare opencode, which starts without the routing plugin. The exit wordmark is Captain Code's.

Euclid

  • The dashboard search honors scope and the journal flag. /api/search passes scope and include_journals to the engine; an unknown option is a 400 with no result text. lane=all reads as both, and lane=git reaches the git recall. Journals stay off by default, as the MCP search serves them.

Tests

  • go test ./... passes inside a captain session again: the suite no longer inherits the session's CAPTAIN_EUCLID_MCP_CONFIG / CAPTAIN_EUCLID_MEMORY_CONFIG, and a test that wants MCP sets its own path.

Still open: mixed host and sandbox stages, and the upstream VM-driver vouch (NVIDIA OpenShell discussion #4079, PR #3940 still closed).

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

If the module proxy still serves an older tag, use GOPROXY=direct go install github.com/lemma-ventures/captaincode/cmd/captaincode@v0.3.7.