{"id":45938811,"url":"https://github.com/escapeboy/boruna","last_synced_at":"2026-04-25T15:04:58.319Z","repository":{"id":339748096,"uuid":"1163230077","full_name":"escapeboy/boruna","owner":"escapeboy","description":"Boruna: a deterministic, capability-safe programming language and framework for LLM-native applications","archived":false,"fork":false,"pushed_at":"2026-04-25T14:06:40.000Z","size":569,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-25T14:24:54.244Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/escapeboy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-21T09:55:11.000Z","updated_at":"2026-04-25T13:32:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/escapeboy/boruna","commit_stats":null,"previous_names":["escapeboy/boruna"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/escapeboy/boruna","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/escapeboy%2Fboruna","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/escapeboy%2Fboruna/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/escapeboy%2Fboruna/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/escapeboy%2Fboruna/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/escapeboy","download_url":"https://codeload.github.com/escapeboy/boruna/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/escapeboy%2Fboruna/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32266006,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-28T10:16:52.966Z","updated_at":"2026-04-25T15:04:58.312Z","avatar_url":"https://github.com/escapeboy.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Boruna\n\n[![CI](https://github.com/escapeboy/boruna/actions/workflows/ci.yml/badge.svg)](https://github.com/escapeboy/boruna/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Version](https://img.shields.io/badge/version-0.2.0-orange.svg)](CHANGELOG.md)\n[![Status: Pre-production](https://img.shields.io/badge/status-pre--production-yellow.svg)](docs/stability.md)\n\n**Deterministic, policy-gated workflow execution for AI systems that must be auditable.**\n\n---\n\n## The problem\n\nMost AI orchestration tools run workflows and return outputs. When something goes wrong — or when a regulator asks — there is no reliable way to answer: *What exactly ran? What did the model see? What did it return? Can you prove it?*\n\nBoruna answers those questions by design.\n\nEvery Boruna workflow run produces a **tamper-evident evidence bundle**: a hash-chained audit log of every step executed, every capability invoked, every model response received. That bundle can be inspected, verified, and replayed — without network access, without a central server, without trusting anyone's word.\n\nThis makes Boruna suited for teams building AI workflows that touch regulated data, make consequential decisions, or need a defensible audit trail.\n\n## What Boruna provides\n\n- **DAG workflow execution** — steps are `.ax` source files; the workflow is a `workflow.json` DAG definition\n- **Capability enforcement** — every side effect (LLM calls, HTTP, database, filesystem) is declared and policy-gated at the VM level\n- **Evidence bundles** — hash-chained tamper-evident logs, written automatically with `--record`\n- **Deterministic replay** — re-execute any recorded workflow with identical outputs, verified by the VM\n- **Approval gates** — pause workflow execution for human review before continuing\n- **Diagnostics and auto-repair** — `boruna lang check` and `boruna lang repair` for `.ax` files\n- **MCP server** — exposes 10 tools for AI coding agent integration (Claude Code, Cursor, Codex)\n\n## What Boruna is not\n\n- Not a general-purpose language or runtime (use Rust, Python, Go for that)\n- Not an LLM framework (use LangChain, LCEL, etc. for prompt engineering)\n- Not a cloud service (Boruna runs wherever you deploy it)\n- Not yet production-ready (v0.1.0 — core is complete and tested, API evolving)\n\n## Install\n\nPre-built static binaries are published on every tagged release:\n\n```bash\n# Linux x86_64 (musl — works on Alpine, Ubuntu, Debian, ...)\ncurl -fsSL https://github.com/escapeboy/boruna/releases/latest/download/SHA256SUMS -o SHA256SUMS\nTARGET=x86_64-unknown-linux-musl\nTAR=$(grep \"$TARGET\" SHA256SUMS | awk '{print $2}')\ncurl -fsSLO \"https://github.com/escapeboy/boruna/releases/latest/download/$TAR\"\ngrep \"$TAR\" SHA256SUMS | sha256sum -c -\ntar -xzf \"$TAR\"\n./boruna-*-${TARGET}/boruna --version\n```\n\nOther targets: `aarch64-unknown-linux-musl`, `x86_64-apple-darwin`, `aarch64-apple-darwin`. See [`docs/releasing.md`](docs/releasing.md) for details.\n\nOr build from source:\n\n```bash\ngit clone https://github.com/escapeboy/boruna\ncd boruna\ncargo build --workspace --release\n```\n\n## Quickstart\n\n```bash\n# Run a workflow\nboruna workflow run examples/workflows/llm_code_review --policy allow-all --record\n\n# Verify the evidence bundle\nboruna evidence verify .boruna/runs/\u003crun-id\u003e/\n```\n\n**→ [Full Quickstart](docs/QUICKSTART.md)** — 10 minutes, ends with a verified evidence bundle.\n\n## Example workflows\n\n| Workflow | Pattern | What it shows |\n|----------|---------|---------------|\n| [LLM Code Review](examples/workflows/llm_code_review/) | Linear, 3 steps | LLM capability, data flow, evidence recording |\n| [Document Processing](examples/workflows/document_processing/) | Fan-out, 5 steps | Parallel steps, multi-input merge |\n| [Customer Support Triage](examples/workflows/customer_support_triage/) | Approval gate | Human-in-the-loop, conditional pause, audit trail |\n\nEach example runs in demo mode (no external services) and produces a verifiable evidence bundle.\n\n## How the evidence guarantee works\n\n```\nworkflow.json  →  DAG Validator  →  Step Runner\n                                        ↓\n                                   .ax source\n                                        ↓\n                                   Compiler → Bytecode\n                                        ↓\n                                   VM (capability gateway)\n                                        ↓\n                                   EventLog entry (CapCall + CapResult)\n                                        ↓\n                              Hash-chained audit log\n\nboruna evidence verify \u003cbundle\u003e\n  → Chain integrity: VALID\n  → All step hashes: MATCH\n  → Verification: PASSED\n```\n\nEvery `CapCall` (including LLM calls) is logged with its full response. The log is SHA-256 hash-chained from a genesis entry containing the workflow definition hash. Modification of any entry breaks the chain.\n\n## Architecture\n\nBoruna is a Rust workspace with 9 crates:\n\n| Crate | Purpose |\n|-------|---------|\n| `boruna-orchestrator` | Workflow engine, DAG execution, evidence bundles |\n| `boruna-vm` | Bytecode VM, capability gateway, actor system, replay |\n| `boruna-compiler` | Lexer, parser, type checker, code generator |\n| `boruna-bytecode` | Opcodes, Module, Value, Capability definitions |\n| `boruna-framework` | Elm-architecture runtime, test harness |\n| `boruna-effect` | LLM integration, prompt management, caching |\n| `boruna-cli` | CLI binary (`boruna`) |\n| `boruna-tooling` | Diagnostics, repair, trace-to-tests, templates |\n| `boruna-pkg` | Package registry, resolver, lockfiles |\n\n557+ tests. `cargo test --workspace` — all pass.\n\n## Documentation\n\n| | |\n|---|---|\n| [Quickstart](docs/QUICKSTART.md) | Build, run a workflow, inspect evidence |\n| [Concepts: Determinism](docs/concepts/determinism.md) | Why and how determinism is enforced |\n| [Concepts: Capabilities](docs/concepts/capabilities.md) | Side effect declaration and policy gating |\n| [Concepts: Evidence Bundles](docs/concepts/evidence-bundles.md) | Hash-chained audit logs and replay |\n| [Guide: First Workflow](docs/guides/first-workflow.md) | Build a workflow from scratch |\n| [Reference: CLI](docs/reference/cli.md) | All `boruna` commands |\n| [Reference: .ax Language](docs/reference/ax-language.md) | Syntax, types, capabilities |\n| [Stability](docs/stability.md) | What is stable, experimental, and planned |\n| [Roadmap](docs/roadmap.md) | 0.2.0 through 1.0.0 |\n| [Limitations](docs/limitations.md) | Real constraints, stated honestly |\n| [FAQ](docs/faq.md) | Common questions |\n| [All docs →](docs/README.md) | Full documentation index |\n\n## Status\n\nBoruna is at **v0.1.0**. The core execution engine is complete and tested. The public API is not yet stable — breaking changes may occur before 1.0.\n\nThe project is appropriate for evaluation, proof-of-concept workflows, and teams who want to adopt the architecture early. It is not yet appropriate for production workloads requiring API stability guarantees.\n\nSee [docs/stability.md](docs/stability.md) for the full maturity assessment.\n\n## For coding agents\n\nBoruna exposes an MCP server for AI coding agent integration. See [AGENTS.md](AGENTS.md) for integration instructions and the tool reference.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md). The short version: open an issue, implement with tests, run `cargo test --workspace` + `cargo clippy` + `cargo fmt`, add a CHANGELOG entry, open a PR.\n\n## License\n\n[MIT](LICENSE) — Copyright 2026 Boruna Contributors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fescapeboy%2Fboruna","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fescapeboy%2Fboruna","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fescapeboy%2Fboruna/lists"}