Orchestrating coding agents without losing your head (or the context)
In September I spoke at the second edition of F13 Code Summit, a developer conference in Lima organized by UTEC Posgrado and Zutun. The talk was called Orquestando agentes de programación sin perder la cabeza (ni el contexto): orchestrating coding agents without losing your head, or the context. It was about Substrate, the open-source tool I built for that and use every day.

The problem
Coding agents forget how you work. Three places people usually keep the process, and why each one falls short:
- The agent’s own task list lives for one session. When the context resets, everything the agent knew about the state of the work is gone.
- A
CLAUDE.mdfile lasts, but it has no structure and it’s only advice. As the context fills up, agents drift away from it, and nothing tells them when they break it. - GitHub Issues are durable and structured, but they live outside the repo. The agent has to remember to go and check, and issues don’t model your gates.
What Substrate does
Substrate is a local-first work manager that lives in your repo. Your agents
use it over MCP. You define the process once, as data: boards, fields and
policies in .substrate/boards/*.json, committed next to the code. Every
session, and every second agent, reads the same state and hits the same gates
when it writes.
- Gates that fire at write time. A
transition_guardblocks a task from moving to the next stage when a required field is missing, and tells the agent which field. - Suggestions that ride along. An
agent_responsibilitypolicy attaches non-blocking reminders to matching writes. - Approvals only a person can give. A field marked
human_onlycan’t be set by the agent’s tools. Only a person can sign it, from the CLI, withsubstrate approve. A gate that requires one is an approval an unattended agent can’t give itself.

What a gate doesn’t do
A gate checks a field the agent fills in itself. If the agent writes
tests_passing: true, nobody actually ran your tests. The gate records the
claim and blocks until it’s made, but it doesn’t verify it. A hard stop at
the right moment still beats advice the agent drifted away from an hour ago,
and the human_only fields are where the real barrier is.

Try it
Substrate is on GitHub, with docs at substrate.42.pe. Version 0.7.0 is a pre-release, so for now you install it from source.