Coding agent · ReAct

KlodyAI

In prod FastAPIWebSocketTauriReact

What it is

ReAct loop, 44 native tools + 18 MCP servers, write/read approval, Tauri desktop dashboard. 2,061 tests.

The architect's call

Promoted to ecosystem intent router. Reuse discovery: 2 of the 3 actuator arms already existed. Approval flaw fixed (FR verbs generer/supprimer classed as write slipped through). ASI-hardened: memory sanitized before it ever reaches a prompt, tool paths locked symlink-safe, outbound mail gated behind a read-only flag. 265 commits.

What went wrong

The approval flaw. Read/write classification of tools was done on the name. English verbs were covered; French verbs — generer, supprimer — fell into the read bucket and slipped through without validation. The fix was not adding French to the list: a pattern list is a sieve by construction. Effect declaration became mandatory at tool registration — a tool with no declared effect does not register.

A reuse discovery, the right way round. While designing the agent's three actuator arms, two already existed elsewhere in the ecosystem. The useful work was not writing them but wiring them. That is the kind of finding you only make by looking at what exists before coding.

Outbound mail. An agent that can write to the outside is a machine identity with real power. It stayed, but behind a flag that reduces it to read-only — the default power is the smallest one.

The figures

2 061tests
44native tools
18MCP servers
119 / 188MCP tools exposed — the gap is a choice

The code

View the repository ↗

Capabilities engaged

Related projects

Your data cannot leave the building?

That is precisely the problem I solve. A 30-minute call is enough to scope an audit.