How hard is it for an AI to read one Mendix™ microflow? We measured it.
A Mendix™ microflow looks simple on screen. To an AI reading the model behind it, the same flow arrives as a bag of nodes wired together by opaque IDs: no order, no inline names. We measured exactly how expensive that is to read, and what it costs once you fix it.
AI agents are good with code they can read top to bottom. A Mendix™ model is not stored that way: a microflow is a graph of nodes, and the edges between them are identifiers, not names. So the practical question behind “can an AI maintain a Mendix application?” is narrower than it sounds: can it read one microflow without drowning in references?
What one microflow looks like to an AI
In the model’s stored form, a single flow arrives as nodes and edges keyed by opaque identifiers. To follow the logic, the reader has to resolve each ID to the thing it points at, roughly 29 reference look-ups before the flow even makes sense:
"startNodeId": "2693b9bf-cf9d-49e1-…" "edges": [ { "originNodeId": "f6167db7-5289-…", "destinationNodeId": "11aabc75-9ac7-…", "caseValue": "true" }, … 8 more edges, each a pair of IDs … ] // no order to read · no inline names · // ~29 resolutions before the logic is even seen
The measurement
We took one real microflow and counted the tokens with tiktoken (the o200k_base encoding). In its raw, graph-of-IDs form it costs an AI 2,592 tokens and about 29 reference resolutions to understand. Rendered the way mxto reads it (in order, by name), the same flow is 145 tokens and zero resolutions:
flow ApproveRequest(Request): if not Request.Status in (Submitted, InReview): show_warning("Only submitted requests…") return Request.Status = Approved Request.Reviewer = CurrentUser commit(Request) call(CreateAuditEntry) close_page() # read top-to-bottom · 0 IDs to chase
That is 94.4% fewer tokens (a 17.9 : 1 ratio) and ~29 → 0 inference steps for the same flow.
Machine-readable. This post has a plain-text companion an AI can read directly: /blog/reading-one-mendix-microflow.txt.
Why one flow is the whole story
One microflow is a rounding error. An estate is not: a single production app we read carries 4,162 microflows. The reading cost is multiplicative, so the gap between “2,592 tokens and ~29 hops” and “145 tokens and none” is the difference between an AI that can hold a whole Mendix™ app in view and one that runs out of room on the first module. Comprehension at estate scale is the precondition for everything else: authoring a change, refactoring safely, proving nothing was dropped.
Method. Token counts measured with tiktoken o200k_base on a real microflow; resolution counts come from the graph’s own node and edge structure. The per-flow graph is already a cleaned extraction: a conservative, baseline-favourable comparison.
The receipt is the point: one flow, two forms, measured. The numbers are on the page. Read them as a human, or grab the plain-text companion and read them as an AI.
How this was made: drafted by an AI agent (Claude, Opus) from Ontology Labs’ own measured results; passed a non-slop review and an adversarial read; every figure truth-checked against source; patent-safe and trademark reviewed; published by a human. Written by AI. For humans and AI. With love.