SKY-ARC-001Runtime ArchitectureRev. 2026.10
Probabilistic reasoning, deterministic transitions.
How the Skyla runtime keeps language models in an advisory role, and hands real authority to a bounded state machine and the narrow, short-lived capability tokens it issues.
Two planes that never share a credential.
Most agent frameworks run a loop: the model thinks, picks a tool, the framework calls it, the result goes back into the prompt. The model's text is the control flow. If the text is wrong, the action is wrong, and you find out afterwards.
Skyla breaks that loop at one point. Model output is parsed into a typed proposal and handed to a separate process that owns every credential and every transition. That process is ordinary, boring, testable code. It has no opinions about language. It only knows which state it is in and which moves are legal from there.
Bounded machines, declared before the run.
Each workflow is a finite-state machine written in a small declarative format. States are named, transitions are listed, and each transition names the proposal type it accepts and the checks it must pass. There are no loops without a counter and no states without an exit.
Before a machine is deployed, the compiler proves a few dull but vital facts: every state is reachable, every non-terminal state has a timeout, and no path reaches a write without passing a gate. A machine that fails these checks does not ship.
machine treasury.pay/v14
states IDLE PLANNED GATED EXECUTED RECEIPTED COMMITTED ESCALATED HALTED
terminal COMMITTED HALTED
on PLANNED accept proposal:payments.schedule@4
gate [scope, schema, quota(25000.00 USD), invoice_open]
admit -> GATED escalate -> ESCALATED deny -> HALTED
on ESCALATED approve(quorum=2) -> GATED timeout(4h) -> HALTED
on GATED exec sandbox(egress=[bank-gw.internal:443]) -> EXECUTED | HALTED
on EXECUTED receipt(match=payload_digest) -> RECEIPTED | HALTED
on RECEIPTED commit(atomic) -> COMMITTEDTokens that say exactly what, how much and until when.
Authority is carried by capability tokens, not by ambient service accounts. When a run starts, the capability authority mints a token for that run alone. It names the tools allowed, the resources they may touch, the ceilings on money or rows, and an expiry measured in minutes.
Tokens can only be narrowed. A supervisor handing work to a sub-agent may strip tools or lower a limit, but it cannot add anything back. When the run ends, its tokens die with it. A leaked token is a small, brief problem rather than a standing key to production.
Many agents, one clock.
In a multi-agent run, a planner, a critic and several specialists may all be talking at once. Skyla does not let them race. A single supervisor owns the machine's clock and admits one transition at a time, in a total order recorded in the ledger.
Agents exchange typed messages through the supervisor, never directly with tools. That keeps the order of events reproducible, even when the agents themselves run in parallel. Parallel thinking is welcome. Parallel acting is serialised.
Naming the randomness we cannot remove.
Setting temperature to zero does not make a model deterministic; batching, hardware and provider updates all leak variation. So we do not rely on it. Instead, the runtime treats every model completion and every external response as an input, records it, and derives everything else from those inputs.
That leaves a short, explicit list of nondeterministic sources per run. Replay feeds the recorded values back in, and the machine must reach the same state. If it does not, the runtime has a bug, and we want to hear about it loudly.
What changes for your team.
Very little in the model layer. You keep your prompts and providers. The work is in describing your tools with schemas, writing the machine for one workflow, and deciding which limits deserve a human signature. Most teams start with a single high-stakes flow in shadow mode, compare gate verdicts with what actually happened, then switch it to enforcing.
From there, the policy guardrails do the daily work and the ledgers answer the questions that come later.