Agent / Expose, do not reimplement
Agents: expose the application, do not reimplement it
A Foldkit application already has the two things an agent needs:
Model -> information the agent may observe
Message union -> actions the agent may causefoldkit-agent turns deliberate subsets of those into one protocol-neutral
agent contract. WebMCP, MCP, A2A, and Agent Native then serve that same
contract without adding application behaviour of their own.
The important architectural rule is simple:
An agent capability is an application Message, not a second implementation of the feature.
The UI and the agent therefore meet at the same update. If a person and an
agent both rename a todo, there is still one rename transition to understand,
test, authorize, replay, and debug.