Skip to content

v3.5.0 — 4 deep sessions, +1292 tests, zero breaking changes

Choose a tag to compare

@Kanevry Kanevry released this 09 May 15:11
· 1308 commits to main since this release

Four deep sessions on top of v3.4.0 plus a non-tracked architectural refactor. Twenty issues closed, tests grew from 3138 to 4430 (+1292), zero CI regressions, zero breaking changes.

Highlights

CI security gates that actually run (#350, #351)

Gitleaks scans every push (37 rules, zero leaks across 258 commits). npm audit blocks high-severity vulnerabilities. Both jobs run on GitLab and GitHub mirrored. Husky 9 + commitlint + lint-staged ship pre-commit defence in depth: ESLint --fix on staged files, Conventional Commits validation, gitleaks on the staged set.

Autopilot kill-switch #9 (#355)

TOKEN_BUDGET_EXCEEDED is the ninth kill-switch. Opt-in via opts.maxTokens, defaults to 0 (off) so existing callers stay green. Forward-compatible with sessionRunner builds that do not yet emit usage.

CI fix that actually mattered (#356)

harness-audit was truncating its JSON output at byte 8188 on every CI runner since 2026-05-01. Local runs were green because pipes drain instantly on dev hardware. Pattern A drain-aware stdout fixed it. Ten-plus failed CI runs now resolved. Regression test asserts stdout.length > 8500 plus parseability plus closing brace.

Anthropic-canonical agent authoring (#359 to #363)

Validator and all 10 agent files re-aligned with code.claude.com/sub-agents:

  • tools accepts both forms: comma-separated string AND JSON array (Anthropic's own reference agents use array form)
  • Color palette expanded from 6 to 9 distinct values (canonical 8 plus magenta for backward-compat)
  • model accepts full IDs like claude-opus-4-7 alongside the existing alias set
  • All 10 agents normalised to the 500 to 3000 word body range with proper Output Format and Edge Cases sections
  • Color collisions resolved: 9 distinct co-dispatchable colors

Hotspot-splits refactor (no issue, internal architectural)

Six files at or above 400 LOC split into submodules under 300 LOC each. Public APIs preserved via barrel re-exports, verified by 26 new test files (+534 tests). Zero behaviour change.

  • state-md.mjs (563 → 31 LOC barrel) → 4 new submodules
  • mode-selector.mjs (480 → 149 LOC orchestrator) → 4 new submodules
  • session-schema.mjs (462 → 70 LOC barrel) → 5 new submodules
  • owner-config.mjs (459 → 28 LOC wrapper) → 7 new submodules
  • worktree.mjs (418 → 15 LOC barrel) → 5 new submodules
  • autopilot.mjs (418 → 39 LOC barrel) → 3 new submodules + relocated telemetry

Other changes

  • crypto-digest-utils.mjs: 6 sha256-hash sites DRY'd (#344)
  • check-hooks-symmetry: new validator wired into validate-plugin.mjs (#347)
  • scripts/lib/config/: 8 new test files, 221 cases (#345)
  • scripts/lib/vault-mirror/: 5 new test files, 148 cases (#346)
  • events-rotation.mjs: 25 new test cases (#349)
  • README test-count refresh, ### Cursor IDE Support section added (#348)
  • .prettierignore extended from 5 to 24 lines (#353)
  • CLAUDE.md working-tree compaction to 88 lines (#354)

Quality verification

  • 4430 vitest passing, 12 skipped, 0 failed
  • typecheck 66/66
  • lint 0 errors
  • validate-plugin 27/27
  • doc-consistency 0 findings
  • gitleaks 0 leaks across 258 commits
  • npm audit 0 high-severity vulnerabilities

Install or upgrade

Claude Code

/plugin install session-orchestrator@kanevry

Codex CLI

git clone https://github.com/Kanevry/session-orchestrator.git ~/Projects/session-orchestrator
cd ~/Projects/session-orchestrator
npm install
node scripts/codex-install.mjs

Existing v3.4.0 install

cd "$(claude plugin dir session-orchestrator 2>/dev/null || echo ~/.claude/plugins/session-orchestrator)"
git pull && npm install

For the full version history see CHANGELOG.md. For installation, configuration, and the full session lifecycle walkthrough see README.md.