EMI: from intent to executable evidence

1 min read meta

AI coding tools are very good at telling you a job is finished. That does not always mean it is.

Sometimes the code is wrong. Sometimes a new test passes even though the feature does nothing. And sometimes the easiest way for an agent to make a failing test disappear is to change the test.

The idea behind EMI is simple: do not just ask the agent whether it finished. Ask what evidence it can show.

EMI starts that process before any code changes. You explain what you want, the agent helps turn your answers into tests, and EMI checks both the tests and the finished code.

EMI’s complete workflow: you describe task rules; the agent uses EMI’s fixed brief to ask questions and drafts New and Guard pytest laws; EMI tests those drafts on current code, with trivial stand-ins and repeated pinned runs; you review actual cases and approve a separate rules commit. The agent then writes code; emi done checks baseline tests, approved laws, and proving tests before returning stop, repair, ask_person, or incomplete with a replayable receipt. A cart-discount example shows the workflow end to end. EMI never calls a language model or merges code.
EMI checks the agent’s interpretation before coding, then checks the candidate against your approved laws. Human approval still matters: a tested rule may not match what you meant. “Stop” is not proof of correctness, and EMI reports a status—it never merges. Explore the EMI project →