0.8.50AUGUST 2026

ADAPT · VALIDATE · LOWER

Contain package syntax.
Share one state model.

Reduced Zustand source now enters generic compiler paths through validated SharedStateIR and SharedActionIR records. Package diagnostics stay at the adapter boundary while route output and browser behavior remain unchanged.

2Package-neutral IR records
1Layout state identity
0 BStore runtime added
P1

SHARED STATE IR

Validate semantic links.
Preserve deploy behavior.

ADAPTER

Contain Zustand

The focused migration pass owns package syntax, accepted forms, and source diagnostics.

STATE

Record stable identity

SharedStateIR stores one JSON-safe identity, field, initial value, and deterministic slot.

ACTION

Link actions structurally

SharedActionIR references its owning state slot before handler lowering and code generation.

VALIDATION

Fail before output

Dangling state and action references are rejected at the existing ModuleIR boundary.

BEHAVIOR

Keep route semantics

Layout lifetime, same-turn updates, batched effects, and enhanced navigation stay unchanged.

BOUNDARY

Publish no store API

Redux support, public adapters, subscriptions, and a generic browser store remain unsupported.

UPGRADE

Keep migration syntax. Gain a validated internal model.

$npm install @kudzujs/core@^0.8.50