{"slug": "bernstein-open-source-governance-layer-for-ai-agents", "title": "Bernstein – open-source governance layer for AI agents", "summary": "Bernstein released version 3.14.159, an update to its open-source governance layer that runs AI coding agents in parallel under a deterministic Python scheduler with no model in the coordination loop, so the same plan replays byte-identically. The release adds named errors in the plan loader instead of silently swallowing malformed fields, removes five commands with deprecation windows for the rest, CI-gates reference docs against the registered CLI, and introduces a Muse Code adapter, Agent Plugins v1.0.0 manifests, an offline-verifiable signed run receipt, and the bernstein audit diagnose command. Bernstein also published an experimental Cloudflare integration in which Workers run agents, Workflows carry multi-step tasks, and R2 plus D1 hold workspace and metering state, running on the user's own account.", "body_md": "# *several* ai agents. one governance layer. *every run* provable.\n\nbernstein is the open-source governance layer for ai agents: a deterministic python scheduler runs them in parallel, with no model in the coordination loop, so the same plan replays byte-identically. it runs on policy as code: you write the policy, bernstein enforces it, and produces the verifiable record.\n\n## ask *anything*.\n\n### one run, *four stages*.\n\n*decompose*\n\n*spawn*\n\n*verify*\n\n*merge*\n\nfrom the blog\n\n## 3 pieces, *hand-picked*.\n\nfield notes from the orchestra pit: what the newest release fixed and what it did not, what running this in the cloud looks like, and how it started.\n\n## bernstein 3.14.159: the stranger's ninety minutes\n\nA first-use report described ninety minutes of setup that ended in nothing. v3.14.159 answers it: the plan loader raises named errors instead of swallowing malformed fields, five commands are removed and the rest fold with deprecation windows, the reference docs are CI-gated against the registered CLI, and the README says beta. Also new: a Muse Code adapter, Agent Plugins v1.0.0 manifests, a signed run receipt that verifies offline, and bernstein audit diagnose.\n\n## agents on cloudflare: workers, durable objects, r2, d1\n\nbernstein's cloudflare integration for ai coding agents: workers run agents, workflows carry multi-step tasks, r2 + d1 hold workspace and metering state. experimental; runs on your own account.\n\n## bernstein 1.0: open-source orchestrator for ai coding agents\n\nOrchestrate Claude Code, Codex, Gemini CLI and other CLI coding agents in parallel git worktrees. Deterministic scheduler, HMAC-signed audit chain.\n\nevidence, not vibes\n\n## every step *signed*, in order, on disk.\n\nrun with --audit and bernstein writes an hmac-chained event log under .sdd/audit/, one jsonl file per utc day. each entry references the previous hash. tampering breaks verification. nothing leaves your machine.\n\nsomeone who did not run it can check it. signature and hash-chain checks read the files alone; the hmac leg needs the key the chain was written with, so hand a reviewer both and bernstein audit verify answers without rerunning anything. not a screenshot, not a SOC2 PDF - a hash chain that recomputes.\n\nconfigure a signing key and a run also writes an ed25519-signed receipt binding the journal and lineage heads. bernstein verify receipt reads that file alone - no hmac key, no .sdd/. pin the public key for provenance. no key, no receipt.\n\n```\n# reading .sdd/audit/2026-07-24.jsonl · 412 entries · 18m04s span\n\n17:42:01  manager.plan     cb84a1…  13 tasks · est $4.20\n17:42:18  scheduler.spawn  3e09f7…  t-001 → backend (sonnet)\n17:42:18  scheduler.spawn  81c2dd…  t-002 → backend (sonnet)\n17:42:19  scheduler.spawn  b50af8…  t-003 → qa      (opus)\n17:55:11  janitor.verify   d014a3…  t-005 docs · pytest 84/84 · ruff 0\n17:55:14  manager.merge    ee7c12…  t-005 → main · 4 files · clean\n18:02:14  janitor.fail     9aa10b…  t-003 qa · pytest collect err · 3/3 retries\n18:02:30  scheduler.route  71b4cc…  t-003 opus → sonnet · awaiting op\n18:09:14  scheduler.pause  4d2e09…  conflict · t-001 ↔ t-007 · src/auth/refresh.py\n\nverify chain      ok ✓  412/412 entries · last hash 4d2e09cb…\nhmac key          ~/.local/state/bernstein/audit.key\n```\n\nfrequently asked\n\n## the four questions *that block install*.\n\n### is the scheduler an llm?\n\n### does it phone home?\n\n### where does it run?\n\n### how is this different from claude code?\n\n### one engineering post *a month*.\n\nwhat we shipped, what broke, what we learned. one click to unsubscribe.", "url": "https://wpnews.pro/news/bernstein-open-source-governance-layer-for-ai-agents", "canonical_source": "https://bernstein.run", "published_at": "2026-10-29 06:24:56+00:00", "updated_at": "2026-10-29 06:45:45.467517+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "ai-safety"], "entities": ["Bernstein", "Claude Code", "Codex", "Gemini CLI", "Muse Code", "Cloudflare", "Cloudflare Workers", "Cloudflare R2"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/bernstein-open-source-governance-layer-for-ai-agents", "markdown": "https://wpnews.pro/news/bernstein-open-source-governance-layer-for-ai-agents.md", "text": "https://wpnews.pro/news/bernstein-open-source-governance-layer-for-ai-agents.txt", "jsonld": "https://wpnews.pro/news/bernstein-open-source-governance-layer-for-ai-agents.jsonld"}}