0.8.28AUGUST 2026

RESOLVE · CLASSIFY · LOWER

Resolve the source.
Lower the right value.

Kudzu's first large-application compiler foundation assigns lexical identity before reactive bindings decide what is local, imported, captured, global, or unresolved.

6Reference classes
1,000Indexed-reference guard
185/185Tests passing
01

COMPILER FOUNDATION

Identity before names.
Semantics before shapes.

LOCALS

Lexical slots

Declarations, parameters, imports, captures, globals, and unresolved references receive deterministic source-local identities and ranges.

GLOBALS

Shadowing stays local

Application values named document, location, history, navigator, or console no longer become browser globals.

IMPORTS

Parameters stay parameters

A callback parameter shadowing an import no longer creates a client-module edge or package reachability.

LOWERING

Rewrite exact occurrences

Only references resolved as state or captures lower to runtime reads; same-named nested bindings remain untouched.

FALLBACK

Synthesized source stays safe

Generated keyed expressions keep the established lowering path unless their complete source identity is available.

NEXT

Descriptors follow

P0.2 moves native handlers, effects, and remaining descriptor discovery onto the same identity model.

UPGRADE

Understand more source. Ship no extra runtime.

$npm install @kudzujs/core@^0.8.28