Skip to content

chernistry/bernstein

v1.9.2 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agent-framework agent-orchestrator agentic-ai ai-agents ai-coding aider
+14 more
anthropic claude-code cli-tool codex-cli coding-agent deterministic-scheduler hmac-audit llm mcp-server model-context-protocol multi-agent parallel-worktrees python swe-bench

Summary

AI summary

Plan steps can specify a per-step cli: field, overriding role‑level or global CLI settings.

Full changelog

v1.9.2 — per-step CLI override, six new adapters, leaf-node orchestrator delegation

The cooperating-CLI-adapter count goes 31 → 37, plans can mix CLIs between stages, and there's a separate new "Bernstein orchestrates the orchestrators" delegation track.

Per-step cli: in plan files (#965, closes #964)

Plan steps now take a cli: field directly. No more inventing role-shaped wrappers in bernstein.yaml to switch CLIs between stages:

stages:
  - name: red-green-refactor
    steps:
      - { title: Red,      role: backend,  cli: opencode }
      - { title: Green,    role: backend,  cli: opencode }
      - { title: Refactor, role: backend,  cli: opencode }
  - name: review
    steps:
      - { title: Code review, role: reviewer, cli: claude }

Precedence (highest wins): per-step cli:role_model_policy.<role>.provider → top-level cli: → default adapter. Requested by @smp4 in discussion #962.

Six new cooperating CLI agent adapters (#968)

openhands, open_interpreter, gptme, plandex, aichat, letta_code. Per-adapter install commands, env vars, and CLI invocation flags are documented in docs/adapters/ADAPTER_GUIDE.md. Each adapter mirrors copilot.py (~120 LOC) with three tests apiece.

"Bernstein orchestrates the orchestrators" — leaf-node delegation adapters (#966)

Two adapters that wrap other CLI orchestrators as if each were a single Bernstein agent:

| Adapter | Wrapped tool |
| --- | --- |
| composio | Composio Agent Orchestrator (@aoagents/ao) |
| ralphex | umputun/ralphex |

Honest framing: leaf-node delegation, not deep meta-orchestration — Bernstein only sees the wrapped tool's exit code, not its internal sub-agents. Useful when you have an existing workflow built on those tools and want to drop it into one step of a larger Bernstein plan. The README has a new Orchestrator delegation (leaf-node) subsection separating these from the cooperating-CLI count; full write-up on the blog.

Three new comparison pages (#967)

bernstein-vs-crystal.md also refreshed to describe the actual stravu/crystal product (Electron desktop, deprecated Feb 2026).

Quieter releases (#969)

npm publish failures no longer mark the release deployment as failed. PyPI / GitHub Release / GHCR ship independently while the npm wrapper waits on NPM_TOKEN permissions post-org-transfer.

Bug fixes

  • catalog: split exact-role threshold from fuzzy threshold (#961). Both were sharing a strict 3-point cutoff that rejected legitimate role matches once an agent had ≥1 cap-word overlap. Exact-role now requires only 1; fuzzy stays at 3.
  • tests: unbroke two main-CI flakes (#970) — test_quality_endpoint_with_iso8601_timestamps had hardcoded timestamps that aged past the 30-day window; test_heartbeat_idle_threshold_lower_in_evolve_mode needed the same liveness-extension margin its sibling test got in b5da11a6.

Install / upgrade

pipx install --upgrade bernstein
# or
pip install --upgrade bernstein

Full changelog: https://github.com/sipyourdrink-ltd/bernstein/compare/v1.9.1...v1.9.2

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track chernistry/bernstein

Get notified when new releases ship.

Sign up free

About chernistry/bernstein

Deterministic multi-agent orchestrator for 18 CLI coding agents (Claude Code, Codex, Cursor, Aider, Gemini CLI, OpenAI Agents SDK, and more). MCP server mode (stdio + HTTP/SSE) exposes the orchestrator to any MCP client. Git worktree isolation per agent, HMAC-chained audit trail, cost-aware model routing via contextual bandit. ~11K monthly PyPI downloads, Apache 2.0.

All releases →

Beta — feedback welcome: [email protected]