1 Encoding workflows
A workflow is written once, in a small declarative language, as a .cpl contract: the steps the agent should take, the tools each step may use, and the constraints their arguments must satisfy. The contract compiles to a runtime graph in which every node knows what came before it, what is permitted now, and what comes next.
workflow "explore" | Bash command=(list the directory) | Read | Bash command= `command.startsWith("grep")`explore workflow. Calls that do not match the current step are blocked and remediated.2 Enforcement at the tool boundary
At runtime, complier sits between the agent and its tools as enforcing middleware. Every tool call is checked against the compiled graph before it executes: compliant calls pass through untouched, while non-compliant calls are blocked and answered with a structured remediation, stating what was violated and what is permitted next, that the agent uses to steer itself back onto the workflow. The same artifact that describes the process is the one that enforces it.
3 An analogy to FPGAs
A growing practice, sometimes called loop engineering, is concerned with governing how agents behave over long autonomous horizons. Practitioners today have two options: steer a general-purpose harness with natural-language prompts, which cannot be enforced, or build a bespoke harness, which means rebuilding tooling, context management, and the agent loop from scratch.
Hardware faced the same trade-off between general-purpose processors and custom silicon, and resolved it with the FPGA: generic fabric that ships with everything expensive already built, onto which engineers program their own circuitry. complier proposes the same resolution for agents. A powerful existing harness such as Claude Code is the fabric, and the contract is the bitstream. Instead of building a harness to obtain enforceable behavior, you program the one you already have.