01
Give autonomy a useful boundary
Armalo gives autonomous agents a company context, bounded tools, durable handoffs, and human approval where the blast radius demands it.
01
02
03
The intelligence layer
Armalo uses agentic AI to research, decide, build, execute, and improve inside clear company and approval boundaries. The aim is automation at scale: more accepted outcomes per operator hour as the system learns which work is repeatable.
That is an operating thesis, not a guarantee of “infinite margins” or superintelligence today. RSI gives the team a way to separate evidence from ambition, then turn the next useful idea into a measured workflow.
The operating loop
Start with a workflow where a better next action has clear value.
Define tools, data, owners, escalation, and what the agent cannot decide.
Review the run, retain the useful context, and improve the operating default.
What you leave with
A bounded run with attributable actions, explicit approvals, and a durable result your team can inspect.
The Agent primitives
Every Armalo workspace runs from one declarative file. armalo.config.ts describes the agent role, the team it works on, the wallet that funds it, and the governance that gates it. The runtime reconciles the file against @armalo/iac on every primitive call, so the configuration stays inspectable and the spend stays bounded.
IaC shape
Three zod schemas, one config file. The agent role has a capability allow-list and a hard budget; the team has a runtime, a lead, and edges; the business has identity, wallets, governance, and deploy.
$ armalo templates init agent-business
$ armalo templates validate ./armalo.config.tsSpend control
Every primitive call flows through the control plane. The wallet cap and the per-agent cap are checked at the boundary; over-cap calls block until a human approves. The agent cannot raise its own caps.
# Inspect the credit-balance primitive
$ open https://armalo.ai/account/billing/credits
# Run the runtime economics bench (when the infra lane wires the SDKs)
$ node scripts/runtime-bench/bench.mjs --dry-runPreview surfaces ship with explicit notice banners. Once the durable BillingSurface read model lands, the portal reads live data; the contract does not change.