Repository navigation
Captain Code v0.3.7
Privacy
- Private names stay out.
captain leakcheckchecks 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.githookspre-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.
/privatein a TUI andcaptain private-nameson the command line list, add, dismiss or remove a name. A list line starting with!is an allowed phrase.CAPTAIN_PRIVATE_CURATE=0turns curation off. - Workers carry the line. Every worker prompt, OpenShell sandboxes included, carries a private-names line (
CAPTAIN_WORKER_PRIVATE_NAMES=0drops it).keep-private-names-private, a published skill, is always stocked.
Skills
research-writing-style-1is 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
hostsper 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/deterministicpin).
TUI
- The sidebar lists harness-provider. A row is
claude-cli,codex-cli,grok-xaioropenshell-nvidia, with its perf and run count. Version and effort are not on that list: a run readsharness:model@effort:xon Last Runs and in the session header.lunais not a row — it isgpt-6-luna, a version of thecodex-cliharness. - The exit screen resumes through the launcher. On close the TUI prints
<launcher> -s <id>, not bareopencode, which starts without the routing plugin. The exit wordmark is Captain Code's.
Euclid
- The dashboard search honors scope and the journal flag.
/api/searchpassesscopeandinclude_journalsto the engine; an unknown option is a 400 with no result text.lane=allreads as both, andlane=gitreaches 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'sCAPTAIN_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.