Skip to content

chernistry/bernstein

v1.8.7 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

Affected surfaces

auth

Summary

AI summary

Fixed CI test collection failures due to module path mismatches and added an import‑linter contract gate.

Full changelog

v1.8.7

Architecture boundaries + CI unblock.

Architecture

  • Import-linter contracts. A new CI gate enforces the intended boundaries between cli/, core/, adapters/, and their sub-packages. Violations fail the Lint job before they can land.

CI

  • Fixed test collection on main — cheaper_retry and retry_budget back-compat redirects pointed at bernstein.core.cost.* but the modules actually live in bernstein.core.cost.planned.*, so the Ubuntu/macOS test matrix was failing with ModuleNotFoundError. Redirects now match the real locations.
  • Cleaned up shellcheck warnings in the mutation-testing workflow (grouped consecutive >> $GITHUB_OUTPUT redirects, dropped two unused variables).
  • Added import-linter to the dev dependency group so the new contracts run in CI.
  • Added a back-compat shim at bernstein.cli.display.icons after icons moved to core/observability/icons.py.
  • Removed accidentally-tracked .sdd/ runtime files that had slipped in through batch merges.
  • SonarCloud cleanup: noisy style hotspots suppressed while keeping security rules active; JS event handlers hardened; test-file scope excluded from bug/vulnerability rules.

Orchestrator & server

  • Spawner and ingest: pre-emptive fixes for hook 401 and batch 422 responses.
  • Boot: LOCKED_FILES paths updated after the sub-package reorg; auth token is auto-generated on first boot.
  • TUI / CLI: the Tasks panel was empty because the client wasn't sending an Authorization header — now fixed.

Cost & cleanup

  • api_usage.py moved out of the cost/planned/ staging area so the back-compat redirect map resolves.
  • CostAutopilot wired into the cost pipeline; duplicate custom_metric_dsl implementation removed.
  • Deleted bulletin_board.py (no production importers remained after the communication/ split).

Full changelog: https://github.com/chernistry/bernstein/compare/v1.8.6...v1.8.7

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]