Intent Mediation Platform

IMP FORGE

Say what you want. In your own words.

Where this came fromThe method

Not a chatbot that writes code. A shop where the words are load-bearing: what you said is screened, rewritten through a vocabulary that has been ratified and measured, and compiled into a bounded instruction. Only then does a model see anything, and what comes back is admitted or refused before it touches a file.

Here is the whole of it, in four steps, from a sentence somebody typed badly to work a program can check.

Every screenshot below is this system running. So is every product named further down — and so is this page, rendered by a program in the same workspace it describes.

1
Type it the way you would say it, typos and all. What comes back is a user story and acceptance criteria you can argue with. The models on offer include ones that run on your own machine, and the sentence you actually wrote is kept beside the rewritten one.
The IMP panel inside the console. A typed sentence asking for a program to find municipalities within three hours of Cincinnati is returned as a user story in AS A / I WANT / SO THAT form, followed by numbered GIVEN/WHEN/THEN acceptance criteria. A model selector above shows hosted and local models, with local and private modes available.
2
It asks, in plain words, until the shape is complete. Each answer adds one strand to the canvas, and the last question is always the one about why — a chain that produces a file but cannot say what it is for does not get to close.
A canvas showing a chain of labelled boxes — Tom opens Spreadsheet, reads Customer rows, merged into a Letter, prepared and held pending Gmail authorization, producing an Emailed letter. Beside it a transcript shows IMP asking the customer short clarifying questions and adding a noun or a piece of data after each answer.
3
The conversation becomes a sprint with criteria that are rows, not prose. Each one starts UNSATISFIED and has to be satisfied by something nameable. Nothing is approved until a person clicks approve.
A sprint page titled 'Tom mails or emails every citizen who commented during the initiative their own submitted comments, thanking them for participating', marked DRAFT with an approve button. Below it the user story in AS A / I WANT / SO THAT form and five acceptance criteria rows, each GIVEN/WHEN/THEN, each marked UNSATISFIED and awaiting judgment.
4
The drawings are rendered from the requirement rows, so they cannot drift from what was agreed. The page names its own open questions rather than smoothing them over — what is still undecided is written down as undecided.
A page of generated diagrams for the same sprint. One row of boxes shows Tom opens Spreadsheet, reads Customer rows, merge into Letter, print and CEO sign, Mailed letter. A second shows the email path: Letter, prepare, Prepared email, hold, Held pending Gmail authorization, operator authorizes connection, Ready to send, Sent via Gmail UI.

What makes it different

The boundary in the middle of those four steps is the product. It is called imp — the part that stands between a person's language and a machine's, and keeps a record of both. A model proposes. imp admits. The model never writes.

A vocabulary the machine enforces. Most tools ship a rules file and hope. Here the words are rows in a database, ratified one at a time, compiled into commit-time hooks that refuse. 252 terms are ratified today. Every run records which version of the vocabulary it was working under, because a name is a fact the model treats as true, and a misleading name is not missing information — it is misinformation.

Disclosure decides the model. A document is broken into structural pieces on your own machine before anything leaves it. What may cross the boundary decides which model is allowed to answer — local and private, or hosted. Every run stores the hash of exactly what the model was shown, so prove nothing privileged left this building is a query, not an assurance.

The cost runs the other way. A tool priced by effort earns more when you consume more of it. This one is built on the opposite rule: anything that repeats stops being a prompt and becomes a tested program. The machine is asked once per genuinely new problem, and the answer is compiled so no future run pays for it again.

What it is made of

Not a demo. A working library, built and tested over years, that the machine assembles into products.

445registered crates
865,878lines of Rust
12,866tests
252ratified terms

Every one of those numbers was measured on 2026-09-18 with a command recorded alongside it. See what they count.

Why an imp

Because the BSD daemon has been sitting on the corner of a manual page for forty years reminding everyone that the thing doing the work in the background is small, horned, and not especially sorry. An imp is a familiar: it does what it is told, inside a boundary somebody drew. That is the whole design, and it is why the mascot came before the marketing.