What it understands
A compiler understands your code. We have to understand it better.
A compiler understands your code well enough to build it; CodeLaser has to understand it well enough to change it. It resolves every type and tracks every reference the way a compiler front end does, then keeps going — how types relate and what can stand in for what, what is reachable from where, how data moves between fields and methods, and what else has to change when you change one thing.
That picture stays up to date while you work, so the answer you get is true of the code as it stands now.
What it does with it
Ask for a change; get the whole edit.
The engine works out the full edit, checks it, and applies it. That is what makes the big jobs practical.
Across a whole module, not a file at a time.
The extract, the moves, the call sites, the imports.
Move the one dependency that creates it.
How your agent connects
Over MCP or driving it in Python.
Either way the division of labour is the same: the agent explores the codebase and decides what should change; the engine decides how to make that change safely, and does it the same way every time.
Where we come from
The analyzer underneath is open source.
The analysis engine underneath CodeLaser is older than the company and is open source. maddi is the analyzer; the commercial engine is built on it.
Founded in 2023.
Started in 2020 as e2immu; maddi is the rewrite.
maddi is open source, and remains so.