Every edit, human or agent, follows the same four stages.
Typed in chat, or called by an agent over MCP.
Checked against your declared Entities, Actions, and Regions.
Isolated QuickJS-WASM. 1,000ms timeout, 16MB memory cap.
A structured diff against the Manifest — not a text patch.
Every overlay reconciles automatically against a new Manifest — a three-way merge, never a silent overwrite.
Same field, changed by both sides.
The base moved before the merge.
Points at something that's now gone.
The vendor removed what it touched.
Each entry hashes the one before it.
High-impact actions wait for a human.
No shared state between tenants.
One executor interface is all you write.
| Package | Subsystem | What it does |
|---|---|---|
| manifest-schema | Manifest schema & derivation | Auto-derivable from an OpenAPI spec. |
| sandbox-runtime | QuickJS-WASM sandbox | No filesystem, network, or process access. |
| overlay-engine | Structured diff & reconciliation | Three-way merge against the current Manifest. |
| governance-engine | Audit & policy | Hash-chained log, plus an approval gate. |
| mcp-server | Native MCP exposure | One MCP tool per declared Action. |
| mcp-client | Outbound MCP integration | Merges external MCP tools into the Manifest. |
| chat-sdk | Embeddable agent loop | The composer your users type into. |
| genui-runtime | Generated UI, sandboxed | Isolated iframe, zero network egress. |
| automation | Durable workflows | Same sandbox and governance path. |
| voice | Governed voice sessions | Ephemeral credentials, a governed tool-call bridge. |
| sqlite-store | Durable persistence | Swappable for Postgres at scale. |
| vendor-sdk | One install, framework-neutral | initBrimeo() wires it all behind one call. |
No. It only calls the Actions you declare — never reads or stores your codebase.
A QuickJS-WASM engine — no network, filesystem, or Node access, disposed after every run.
No. It's always a clean merge or a typed conflict — never a silent partial change.
Every change is a structured, editable overlay. It can't un-execute a write your backend already committed — and never claims to.
No. One executor interface maps to your existing backend — proven against both a Node and an edge host.
Bring an OpenAPI spec, or a sketch of your Entities and Actions — we'll run a real sandboxed edit live.