A graph around ordinary computation
knurl. treats a program as a typed information-flow network, while keeping local computation recognisable: expressions, bindings, branches, loops and calls. The purpose is to make movement, state access and authority explicit without turning every line into graph notation.
One semantic model, several consumers
The compiler pipeline moves from syntax and project binding through a typed semantic graph and Flow IR to native emission. Semantic queries expose that model to the IDE and agent tooling. The current native path emits C and headers; backend choice remains an architectural boundary rather than a language promise.
Self-regeneration is a specific milestone
The knurl.-written compiler has executed native-seeded regeneration, producing matching generated C and headers across generations. That exercises the native compiler on its own source. It does not prove full equivalence with the broader C#/.NET bootstrap checker or every ownership and authority rule.
An application finds different gaps
knurlbench. forces the language to handle actual text, files, process jobs and desktop interaction. This gives compiler and runtime changes an application-scale consumer instead of relying entirely on small syntax fixtures.