Repository navigation
CCC 8.1.3
Lane release. Bumps the pinned plugin version so claude plugin update picks up the Fleet check-in contract, per-lane state and the doctor and status-line fixes below (#241, #242, #240).
Fixed
- CLI:
~/bin/cccresolves the installed release and warns when the checkout drifts from the installed plugin (CC-2089). The lane hold file fails closed on access errors, and the Superfleet status-line segment honorsCCC_CONFIG_DIR(#241). - Hooks: plugin hooks keep their state per lane in
<config dir>/commander(CCC_CONFIG_DIR, thenCLAUDE_CONFIG_DIR, then~/.claude) through one resolver,lib/lane-state.js, so parallel lanes no longer write one shared~/.claude/commander. User settings (config.json,console.json,state.json) and the Console/Usage/Safety readers fall back to the legacy copy until the lane has its own. Nothing is migrated (CC-2098). - Doctor: the hook-chain check counts the handlers the SessionStart orchestrator imports (
fable-armed-nudge.js,voice-injector.js,_archive/session-start.js) as registered, soccc doctorno longer reports a false critical. Archived handlers are scanned too and must be registered or allowlisted (CC-2099). - Doctor: the mcp-availability check reported "connector count drift — found 0" after the CONNECTORS.md heading was renamed. Doctor and
ccc checkin --json(new additiveconnectorsblock) now share one counter for the catalog and for the lane's configured MCP servers (user, local and project scope). A missing table or malformed config is reported as unknown, never 0 (CC-2100). - CLI menu: with a non-TTY stdin,
cccprinted menu separators asundefinedentries and lettered items by position. Separators are now blank lines, each entry uses its declared key (o,b,c, …/,q), and a typed key maps back to that entry (CC-2101).
Added
- Fleet check-in:
ccc checkin --jsonreports CCC, plugin and Claude Code versions, the lane and health checks for the Fleet dispatch gate (seedocs/FLEET-CHECKIN.md), andccc next --jsonreturns the next routed step (#241). - Lanes: CCC resolves the lane from
CCC_CONFIG_DIR, thenCLAUDE_CONFIG_DIR, then~/.claude, keeps per-lane state in<config dir>/commanderand reads the legacy shared copy until a lane has its own.ccc doctor --instanceslists every lane install (#241). - Status line: a Superfleet segment shows the lane, batch key, done/total, current ticket and lane usage (
CCC_STATUSLINE_SF=offhides it) (#241). - Routing: a Fleet intent hook routes Fleet requests to the fleet skill; it never dispatches on its own (#241).
- Check-in:
ccc checkin --jsongains an additivehooksblock (schema stays 1): registered count, unregistered files, missing handlers and hooks that write the shared~/.claude/commander. Registration gaps and shared-state writers are warnings (exit 0); a hook chain that cannot load blocks (exit 1). Seedocs/FLEET-CHECKIN.md(CC-2102). - Status line:
ccc statusline sync [--lane X] [--apply] [--json]compares each lane's livestatusline.shandstatusline-superfleet.shwith the checkout'slib/copies. It is a dry run by default;--applyarchives the old file to<config dir>/commander/archive/<timestamp>/before it copies, and never deletes (CC-2103).
Changed
- Doctor: plain
ccc doctornow runs the diagnostics (#241). - Status line: with
CLAUDE_CONFIG_DIRunset, the 🔑 hint showspri(the primary lane) instead of the ClaudeSwap account or API-key tail. This is intended since 8.1.2; the ClaudeSwap and key-tail fallbacks now apply only to config dir names that are not.claudeor.claude-<lane>. - Status line: the 🎯 skill count and 📋 Linear ticket read
${CLAUDE_CONFIG_DIR:-~/.claude}/skillsand.../commander/state.json, so a lane session shows its own skills and active ticket instead of the primary lane's. - Status line: the 🔑 lane hint keeps up to 16 characters (was 12), so
~/.claude-guestnetworksshowsguestnetworksin full.