chernistry/bernstein

Детерминированный оркестратор для CLI coding agents (Claude Code, Codex, Gemini CLI, +40 others). В контуре координации нет модели, поэтому параллельные запуски в git worktrees для каждой задачи воспроизводятся байтово идентично. Подписанная линия истории плюс опциональная цепочка аудита HMAC, котор

Агенты⭐ 1 227Pythonпоследний релиз: v3.20.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Bernstein — это детерминированный оркестратор для CLI-агентов (Claude Code, Codex, Gemini CLI и др.), который управляет их параллельным выполнением и изоляцией задач через git worktrees.

Зачем нужен

Инструмент решает проблему воспроизводимости и аудита работы LLM-агентов: поскольку координация происходит на чистом Python без участия LLM, каждый запуск можно точно воспроизвести. Он фиксирует lineage (происхождение изменений) и предоставляет опциональный HMAC-аудит для проверки результатов офлайн, что критично для безопасной разработки.

Что можно реализовать

  • Параллельное выполнение множества задач кодирования с изоляцией окружений через git worktrees
  • Аудит и проверка истории изменений AI-агентов с помощью подписанного lineage и HMAC-цепочки
  • Запуск агентов в air-gap (без доступа к интернету) средах с использованием локальных адаптеров
  • Воспроизведение прошлых планов и графов задач для отладки и анализа эффективности

Ключевые возможности

  • Детерминированность: отсутствие LLM в контуре координации обеспечивает byte-identical replay
  • Изоляция: каждый task работает в собственном git worktree или изолированной директории
  • Аудит: опциональная HMAC-цепочка (BERNSTEIN_AUDIT=1) для офлайн-проверки целостности
  • Поддержка 40+ CLI-агентов и generic --prompt обёртки без передачи данных в SaaS

👤 Кому подойдёт: разработчики, DevOps-инженеры и команды, требующие контролируемого, воспроизводимого и безопасного использования AI-агентов в CI/CD или локальной разработке

Релизы

v3.20.0majorbreaking
🕐 22 ч назад · релиз на GitHub ↗

v3.20.0: проверяемые отчёты, экспорт OSCAL, аудит цепочек, скоринг и усиление безопасности.

  • Added: Экспорт отчётов в NIST OSCAL v1.1.0 для проверки аудиторами.
  • Added: Проверяемый экспорт трейсов: верификация целостности JSONL через HMAC и подписи.
  • Breaking: Жёсткий контроль провайдеров моделей: отказ от экспорта при отсутствии явного вендора.
  • Added: Scorecard — сводка по запуску с ссылками на журнал, и fold надзора с подписью DSSE/Ed25519.
  • Fixed: Усиление безопасности: gitignore для ключей, экранирование логов, защита от path-traversal.
v3.19.2majorbreaking
🕐 11 дн назад · релиз на GitHub ↗

Исправлена критическая логика audit verify и улучшены гарантии безопасности, идентификации и верификации.

  • Fixed: Исправлена уязвимость GHSA-594x-5h3g-wj34: audit verify теперь корректно учитывает критические находки, а не только ошибки цепочки.
  • Added: Улучшены проверки безопасности: scope guardrail, детекторы инъекций и обработка ошибок стали точнее и информативнее.
  • Added: Унифицирована идентификация агентов: единый тип и пространство имен, обязательные чеки делегирования и аудит доступа.
  • Added: Добавлены криптографические гарантии времени и целостности: привязка к RFC 3161, подписи по RFC 8785 и аттестация изоляции.
  • Added: Внедрена прозрачность конфигурации: config explain показывает происхождение значений, а политика фиксирует порядок слоев.
v3.19.1majorbreaking
🕐 18 дн назад · релиз на GitHub ↗

Релиз v3.19.1: полноценная система аудита и управления доступом для AI-агентов с верифицируемыми цепочками событий.

  • Breaking: Изменена логика approval gate: таймаут теперь считается отказом (timed_out), а не одобрением; требуется явное опциональное включение.
  • Added: Внедрена система управления секретами: Bernstein хранит только краткосрочные учетные данные, а не сами секреты, с обязательным редэктированием в выводе инструментов.
  • Added: Представлен CLI 'bernstein govern' для формирования цепочно-заякоренных аудиторских отчетов, проверки соответствия и экспорта доказательств.
  • Added: Унифицирована идентификация агентов: единый тип субъекта, append-only жизненный цикл с HMAC-цепочкой и интеграция по SCIM 2.0.
  • Added: Внедрено верифицируемое отслеживание моделей и плагинов: пиннинг по хешам, запрет 'latest', логирование изменений MCP и запись endpoint в спаны.
  • Added: Обеспечена независимая верификация: ротация ключей с цепочкой отмены, поддержка RFC 3161, экспорт в W3C PROV-O и TRACE 0.2.
v3.19.0majorbreaking
🕐 20 дн назад · релиз на GitHub ↗

Bernstein v3.19.0: соответствие TRACE 0.2, новые адаптеры, ломаящие изменения для не-ASCII записей и улучшение CI.

  • Added: Добавлен адаптер HolmesGPT для связывания источников данных с выводами расследований.
  • Added: Достигнута конформность TRACE 0.2: хеширование по канонической форме RFC 8785 и fail-closed для внешних аттестаций.
  • Added: Введены подписанные чеки выполнения (receipts) для fan-out и детерминированный адаптер gitleaks.
  • Fixed: CI теперь падает, если тестовые модули не содержат тестов или теряют зарегистрированные случаи.
  • Breaking: Необходимо переиздать trust-записи с не-ASCII символами из-за изменений в алгоритме хеширования.
v3.18.2minor
🕐 24 дн назад · релиз на GitHub ↗

Добавлены криптографические чеки TRACE 0.2, исправлено планирование задач и улучшена работа с плагинами.

  • Added: Внедрены подписанные TRACE 0.2 Trust Record для журналирования и верификации без сети.
  • Fixed: Исправлено переполнение чанков при миграции, таймауты планирования и голодание задач.
  • Fixed: Улучшена работа `bernstein pr`: теперь корректно сообщается об ошибках и вычисляется провенанс.
  • Added: Адаптер Goose теперь передает используемую модель и отчеты об использовании.
  • Fixed: Исправлены ошибки в CI-воркфлоу и удалены неиспользуемые модули.
v3.18.1patch
🕐 25 дн назад · релиз на GitHub ↗

Релиз v3.18.1: интеграция цикла review-fix в CLI, улучшение аттестации и стабилизация CI/CD.

  • Added: Команда `bernstein review --pipeline` теперь запускает полный цикл исправления до зелёных проверок, формируя подписанные чеки и детерминированные планы.
  • Added: Аттестация нарушений SLA теперь происходит один раз, а не при каждом тике монитора; добавлена поддержка якорения сырых байтов через тип артефакта `blob`.
  • Fixed: Исправлена логика обработки задач без сигналов завершения, устранён сбой CI из-за дрейфа защиты веток и восстановлена опция отключения аутентификации.
  • Added: Одобренные оператором действия и исключения теперь записываются в цепочку аудита HMAC, а ожидающие одобрения задачи видны в `GET /approvals`.
  • Fixed: Улучшена обработка ошибок: `artifact verify` честно сообщает об отсутствии ключа аудита, а интеграции тикетов учитывают заголовки `Retry-After`.
v3.18.0majorbreaking
🕐 27 дн назад · релиз на GitHub ↗

В Bernstein v3.18.0 усилены гарантии целостности: проверка планов, изоляция конфигураций, аудит ключей и обязательные гейты перед слиянием.

  • Breaking: Планы утверждения привязаны к хэшу рендеринга: при несовпадении с хранимым SHA-256 ответ будет 409 Conflict.
  • Breaking: Введен обязательный гейт run_config, запрещающий изменения в конфигурации запуска; оверрайды теперь изолированы в untracked overlay.
  • Added: Гейты качества теперь запускаются перед слиянием; блокирующий сбой предотвращает merge и записывает отказ.
  • Added: Аудит ключей переведен на схему v2 (HKDF-SHA256); неизвестные схемы вызывают жесткую ошибку.
  • Added: Появился отчет `bernstein runs report` для анализа статусов завершённых запусков и Provenance-блок в PR.
  • Fixed: Исправлена безопасность установки плагинов: теперь проверяется, что все пути разрешаются внутри пакета.
v3.17.2patch
🕐 28 дн назад · релиз на GitHub ↗

Исправления в системе аудита запусков, безопасности MCP-каталогов и обработке ошибок планирования.

  • Fixed: Чек-листы теперь содержат вердикт, а имена адаптеров с пробелами корректно хешируются.
  • Fixed: Заблокирован доступ к внутренним хостам в каталогах навыков и MCP.
  • Fixed: Исправлена логика проверки прав доступа и обработка ошибок при возобновлении работы.
  • Fixed: Устранены ошибки в статусе планирования и очистке артефактов после сбоев.
v3.17.1patchbreaking
🕐 29 дн назад · релиз на GitHub ↗

Исправлены критические ошибки в планировщике, управлении агентами, шлюзе слияния и PostgreSQL, улучшена стабильность выполнения задач.

  • Fixed: Агенты больше не блокируют новые запуски из-за высокого уровня ошибок; исправлено гонки при повторных попытках планирования.
  • Fixed: Шлюз слияния теперь оценивает корректный результат после объединения, а не пустую проверку, что позволяет проходить задачи с сигналами принятия.
  • Fixed: Исправлен планировщик задач: устранены ложные циклы зависимостей и ошибки топологической сортировки, блокирующие выполнение.
  • Fixed: Улучшена логика жизненного цикла агентов: исправлено определение живости, обработка сиротских задач и корректная работа с эскалацией моделей.
  • Breaking: Задачи, созданные до этого релиза, не имеют записанного арендатора и попадают в область по умолчанию; в мультиарендной среде исходная область не восстанавливается.
v3.17.0minorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Исправления графа задач, верификации и агентов; безопасность, стабильность и новые возможности волонтерских воркеров.

  • Breaking: PostgresTaskStore.list_tasks() теперь возвращает ограниченную страницу без limit; требуется явная пагинация через offset.
  • Fixed: Исправлено распространение ошибок в графе задач на зависимые узлы вне поддерева и материализация узлов с пропущенными входящими ребрами.
  • Added: Команда audit verify стала строго read-only; добавлены отдельные вердикты для append, rewrite и identity.
  • Fixed: Агенты, завершившие работу с нулевыми токенами, теперь диагностируются, а не отключаются молча; улучшена обработка ошибок цепочки.
  • Added: Волонтерские задачи теперь возвращают diff или структурированный отказ; добавлено обнаружение дубликатов через durable lease store.
v3.16.0minorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Исправлено восстановление журналов, усилены проверки безопасности и CI, добавлена верификация волонтёрских воркеров.

  • Fixed: Восстановление прерванных задач и целостность журнала теперь работают корректно.
  • Added: Внедрена офлайн-верификация результатов через DSSE и строгий контроль доступных файлов.
  • Added: Проект подключился к программе волонтёрских воркеров с проверкой манифеста и песочницы.
  • Breaking: JournalVerifyResult теперь возвращает три вердикта вместо одного бита, что требует обновления кода.
  • Fixed: Исправлены ложные успехи в CI и усилены проверки границ, валидации карт и арендаторов.
v3.15.1majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Критическое обновление безопасности: устранены утечки данных между арендаторами и проблемы авторизации.

  • Fixed: Устранены уязвимости, позволяющие арендаторам получать доступ к задачам и данным других арендаторов.
  • Fixed: Исправлена проблема, при которой токены агентов и кластерные секреты предоставляли несанкционированный доступ к ресурсам.
  • Breaking: Значение auth_type="oauth" теперь вызывает ошибку при инициализации; рекомендуется использовать "bearer" или "none".
  • Fixed: Строки затрат без указания арендатора исключены из запросов, ограниченных арендатором.
  • Fixed: Прогнозирование бюджета и метрики теперь корректно изолированы по арендаторам.
v3.14.159majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

В Bernstein v3.14.159 удалены устаревшие команды, ужесточена валидация планов и добавлены новые адаптеры.

  • Breaking: Удалены пять команд без периода устаревания: postmortem, incident, commit-stats, consensus и issue-to-pr.
  • Breaking: Загрузка планов теперь строго валидирует типы данных, выдавая PlanLoadError вместо молчаливого использования значений по умолчанию.
  • Fixed: Параметр evolution_enabled: false теперь корректно отключает цикл эволюции, как и ожидалось.
  • Added: Добавлены новые адаптеры: Muse Code, Kimchi CLI, generic adapter для Python и драйвер Playwright.
  • Added: Внедрены Agent Plugins v1.0.0 с валидацией манифестов и возможность офлайн-верификации подписанных квитанций.