▸ agent infrastructure & governance
Probabilistic models cannot be governed by text alone. They require deterministic architecture.
Infrastructure, governance, and structural resilience for autonomous agent systems in production.
“ship the new pricing service when the tests look fine, and roll it back if anything seems off”
// why
Why agent-based infrastructure?
Every layer of infrastructure earned its place by killing one specific kind of uncertainty. You already know the sentence that made you adopt each one.
| layer | the sentence in your head when you adopted it |
|---|---|
| Docker | “I want this to run the same everywhere.” |
| Kubernetes | “I have too many of these to place by hand.” |
| Terraform | “I want infrastructure I can review before it exists.” |
| ABI-Core | “I want to know what my agents will do before they do it.” |
Containers ended works on my machine. Orchestrators ended manual placement. Infrastructure-as-code ended undocumented drift. Agents introduced a new one, and it is the worst of the set: a system whose next action is a probability.
That uncertainty doesn’t get solved by a better prompt, a bigger model, or another retry loop — those make the system more capable, not more predictable. It gets solved the way every layer before it did: by moving the decision out of the thing that guesses and into code you can read, review, and diff.
That is the entire reason ABI-Core exists.
// the vehicle
The model never decides execution order. Your code does.
ABI-Core is an open-source Python framework for multi-agent systems that behave like
infrastructure instead of like a prompt that happened to work. You write plain async functions;
ABI packages them into services, wires the messaging, registers them for discovery, and enforces the rules.
Execution order is declared with depends_on — steps at the same level run in
parallel, and nothing runs because a model felt like it.
# these two have no dependency between them — they run in parallel @agent.step(name="classify") async def classify(raw_input): ... @agent.step(name="validate") async def validate(raw_input): ... # this one waits for both. the graph is code, not inference. @agent.step(name="decide", depends_on=["classify", "validate"], input_map={"cls": "$classify.result", "ok": "$validate.result"}) async def decide(cls, ok): ...
| decorator | who decides |
|---|---|
| @agent.step | You do. Runs in the order your dependency graph defines. |
| @agent.tool | The model does — inside the permissions it was granted. |
| @agent.mcp_tool | A remote tool resolved through the Semantic Layer. |
| @agent.task | Runs a sequence of steps and streams progress back. |
Pick models by capability, not by benchmark. alpha
ABI profiles a task by what it requires and a model by what it provides, across seven
dimensions — including instruction_following, which is why a small model often makes the
better orchestrator and a large one keeps trying to solve the problem itself. Profiles are measured with a
deterministic probe battery and Wilson confidence intervals. No LLM judging another LLM.
Alpha. This subsystem is earlier than the rest of the framework: the probes run and the selector works, but the capability API and the seven dimensions are still moving and will change between releases. Treat it as a research surface, not a stable contract.
abi-core capabilities profile qwen2.5:3b --output profiles.json abi-core capabilities show qwen2.5:3b --source profiles.json
// the architect
Built and maintained by Joselo Martínez.
Most agent systems don’t fail because the model is weak. They fail because a research prototype was handed to production without a state model, a failure domain, or a way to answer “what exactly did it do, and why?”
Fifteen years in distributed systems, now spent entirely on the layer between the model and the rest of your infrastructure: orchestration, tool contracts, blast radius, observability, and the governance a compliance team will actually accept. This is the call you make when your orchestration layer starts failing in ways your traces can’t explain.
ABI-Core is the working proof: signed agent-to-agent messages, per-agent tool permissions, a risk-scored audit trail, and a human veto before execution — shipped continuously since November 2025 and released under Apache-2.0.
// the evidence
Designed, not magic.
The thinking behind the framework, published in the open.
Designed Not Magic
Deep dives into system architecture, breaking down why bigger models disrupt the orchestration layer.
Listen on Spotify → written · essaysTechnical Blog
Essays and technical teardowns on distributed systems, data paradigms, and AI infrastructure.
Read the archive →// engagements
Is your agentic system ready for production?
- review Architecture review. A structured teardown of your orchestration layer: failure domains, tool boundaries, state handling, and where it breaks under load.
- governance Governance strategy. Approval gates, audit trails, and permission models that let autonomous systems ship without becoming an incident waiting to happen.
- build ABI-Core implementation. Hands-on integration of the framework into your stack, with your team on the keyboard.