Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ When writing or modifying Boruna code:

1. **Never break determinism** — use `BTreeMap`, never `HashMap` for ordered iteration. No randomness or time reads in pure code.
2. **Declare all capabilities** — functions with side effects require `!{capability}` annotations. The VM enforces this; tests will fail if missing.
3. **Run `cargo test --workspace --features boruna-cli/serve`** after every change — 1175+ tests must pass (1.3.0 baseline).
3. **Run `cargo test --workspace`** after every change — 1175+ tests must pass (1.3.0 baseline).
4. **Run `cargo clippy --workspace -- -D warnings`** — zero warnings are allowed. CI enforces this.
5. **Run `cargo fmt --all`** — formatting is enforced by CI.
6. **No semicolons in `.ax` files** — `.ax` has no statement terminators.
Expand Down
30 changes: 27 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,35 @@ Versioning follows [Semantic Versioning](https://semver.org/).

## [Unreleased]

## [3.0.0] — 2026-07-18

Removes the entire HTTP / serving / distributed-execution layer. Boruna is now a
**local deterministic engine + CLI** — no HTTP server. The compiler, VM,
orchestrator engine, evidence bundles, deterministic replay, and every local CLI
command are unchanged. Breaking, hence the major bump: public CLI commands and a
build feature were removed.

### Removed

- Removed the HTTP serving layer — coordinator, distributed workers, workflow
dashboard, evidence web viewer, and approval console. Boruna is now
local-engine + CLI only.
- **The HTTP serving / distributed-execution layer** — the coordinator
(distributed HTTP server), distributed workers, active-active HA, coordinator
mTLS, the workflow dashboard, the evidence web viewer, and the approval console.
- **The `serve` cargo feature** and its server dependencies (axum, hyper, tower,
reqwest, rustls, …).
- **CLI commands** `coordinator`, `dashboard`, `worker`, and `evidence serve`; and
the `--coordinator` / `--coord-token` flags on
`workflow run/approve/reject/trigger`. Approval and trigger gates are still
handled **locally** via `boruna workflow approve/reject/trigger` + `resume`.
- Net: ~11,000 lines removed.

### Kept

- The local engine (`boruna-orchestrator`, `boruna-vm`, `boruna-compiler`),
evidence bundles, deterministic replay, capability-policy enforcement, and every
local CLI command (`run`, `workflow …`, `evidence verify/inspect`, `lang`,
`template`, `migrate`, `framework`, `policy`, `metrics`), plus the MCP server.
- The `http` feature — the VM's outbound `net.fetch` capability for workflow steps
(a workflow capability, not a server).

## [2.0.0] — 2026-07-17

Expand Down
24 changes: 12 additions & 12 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ members = [
]

[workspace.package]
version = "2.0.0"
version = "3.0.0"
edition = "2021"

[workspace.dependencies]
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

[![CI](https://github.com/escapeboy/boruna/actions/workflows/ci.yml/badge.svg)](https://github.com/escapeboy/boruna/actions/workflows/ci.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![Version](https://img.shields.io/badge/version-2.0.0-blue.svg)](CHANGELOG.md)
[![Version](https://img.shields.io/badge/version-3.0.0-blue.svg)](CHANGELOG.md)
[![Status: Stable](https://img.shields.io/badge/status-stable-green.svg)](docs/stability.md)

> **v2.0.0 is the current release.** The 1.x line remains under long-term support — active through 2027-11-15, security through 2028-05-15. See [`docs/lts.md`](./docs/lts.md) for support windows, deprecation policy, and security-backport SLAs.
> **v3.0.0 is the current release.** The 1.x line remains under long-term support — active through 2027-11-15, security through 2028-05-15. See [`docs/lts.md`](./docs/lts.md) for support windows, deprecation policy, and security-backport SLAs.

**Deterministic, policy-gated workflow execution for AI systems that must be auditable.**

Expand Down Expand Up @@ -154,7 +154,7 @@ Boruna is a Rust workspace with 10 production crates plus a `benches/` member:

## Status

Boruna is at **v2.0.0** — the first major release. 2.0 is a security-hardening and language-completeness milestone that remediates a whole-codebase research audit: SSRF/XSS fixes, coordinator claim-ownership and approval-gate enforcement, tamper-evident evidence bundles (external anchor + ed25519 signing), and real language semantics (enum construction with per-variant match tags, higher-order calls, `for` loops, arity checking, and warn-only type-consistency diagnostics). It ships **deliberate breaking changes** — integer overflow is now a runtime error, and several coordinator/framework defaults fail closed — so review the 2.0.0 entry in [`CHANGELOG.md`](CHANGELOG.md), each of which has a documented override or migration. The core execution engine, evidence bundles, and four formal versioned specifications (`.ax` language, bytecode, workflow DAG, evidence bundle) remain feature-complete; the 1.x LTS line continues per [`docs/lts.md`](docs/lts.md).
Boruna is at **v3.0.0** — the release that removes the entire HTTP / serving / distributed-execution layer. Gone are the distributed coordinator, distributed workers, active-active HA and coordinator mTLS, the three web UIs (workflow dashboard, evidence web viewer, approval console), and the `serve` cargo feature and its server dependencies. What remains is a **local deterministic engine and CLI**: compiler → capability-gated VM → orchestrator (runner, persistence, audit) → tamper-evident evidence bundles. Approval and external-trigger gates are still handled locally via `boruna workflow approve/reject/trigger` plus `resume`. This is a **breaking** release — the `coordinator`, `dashboard`, `worker`, and `evidence serve` CLI commands, the `--coordinator` / `--coord-token` flags, and the `serve` feature are removed — so review the 3.0.0 entry in [`CHANGELOG.md`](CHANGELOG.md). The core execution engine, evidence bundles, and four formal versioned specifications (`.ax` language, bytecode, workflow DAG, evidence bundle) remain feature-complete; the 1.x LTS line continues per [`docs/lts.md`](docs/lts.md).

The project is suited for evaluation, internal tooling, and audit-sensitive AI pipelines. **Operator action**: validate the [`docs/PERFORMANCE.md`](docs/PERFORMANCE.md) budget against your workload, and review [`docs/limitations.md`](docs/limitations.md) for known constraints. External security audit booking is the Q4 2026 commitment in `lts.md`.

Expand Down
3 changes: 0 additions & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ Task-oriented walkthroughs:

- [Your First Workflow](./guides/first-workflow.md) — build a two-step workflow from scratch
- [LLM Integration](./guides/llm-integration.md) — Bring Your Own Handler model: how to wire OpenAI / Anthropic / vLLM / custom routers via the `CapabilityHandler` trait
- [Coordinator HA](./guides/coord-ha.md) — multi-coord deployment topologies, health endpoint, worker URL failover
- [Coordinator mTLS](./guides/coord-mtls.md) — X.509 client certs, cert generation recipe, identity reconciliation
- [Worker Capability Tagging](./guides/worker-capability-tagging.md) — heterogeneous fleet placement
- [Migration](./guides/migration.md) — `boruna migrate` for upgrading legacy bundles and workflow files

## Standard Libraries
Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/capabilities.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ A capability is an explicit permission for a workflow step to perform a side eff

## The eleven capabilities

The 1.0 capability set is frozen in `crates/llmbc/src/capability.rs::Capability::ALL`. Workers and the coordinator carry a `capability_set_hash` derived from the (name, version) tuples of this set; mismatched workers are rejected at registration with `error_kind: "coord.binary_mismatch"` (see [`docs/guides/worker-capability-tagging.md`](../guides/worker-capability-tagging.md) for subset advertising).
The 1.0 capability set is frozen in `crates/llmbc/src/capability.rs::Capability::ALL`. A `capability_set_hash`, derived from the (name, version) tuples of this set, gives the capability surface a stable identity — reported by the `boruna_capability_list` MCP tool for compatibility checks.

| Capability | Effect | Example use |
|------------|--------|-------------|
Expand Down
Loading
Loading