Repository navigation
v3.5.0 — 4 deep sessions, +1292 tests, zero breaking changes
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:
toolsaccepts 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)
modelaccepts full IDs likeclaude-opus-4-7alongside 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 submodulesmode-selector.mjs(480 → 149 LOC orchestrator) → 4 new submodulessession-schema.mjs(462 → 70 LOC barrel) → 5 new submodulesowner-config.mjs(459 → 28 LOC wrapper) → 7 new submodulesworktree.mjs(418 → 15 LOC barrel) → 5 new submodulesautopilot.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 intovalidate-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 Supportsection added (#348) .prettierignoreextended from 5 to 24 lines (#353)CLAUDE.mdworking-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.mjsExisting v3.4.0 install
cd "$(claude plugin dir session-orchestrator 2>/dev/null || echo ~/.claude/plugins/session-orchestrator)"
git pull && npm installFor the full version history see CHANGELOG.md. For installation, configuration, and the full session lifecycle walkthrough see README.md.