Skip to content
ENC Protocol

ENC UI Kit

The ENC UI Kit is an algebraically-specified, manifest-driven UI layer. It renders an app from its declarative manifests into a working interface on any platform, and its state engine is a pure-functional algebra whose operations are proven in Lean to refine the spec.

How it works

The pipeline is Resolve → Apply → Render:

  1. Resolve manifests. A loader merges the app definition, pages, components, and workflow manifests into one canonical app model.
  2. Build the page tree. Routing and page gates pick the active page; data bindings ($state.field) and render_if conditionals resolve against current state.
  3. Apply actions. On a user action, a five-operation algebra — set / insert / update / delete / query — interprets the action expression and returns the next state purely, with no side effects. The same evaluator runs in Node tests and in the browser.
  4. Render. The result is a platform-agnostic tree of typed atoms (text, input, select, toggle, slider, …); each platform renderer (React, React Native, terminal, extension) maps the tree to native widgets without any logic branching.

What makes it sound

Figures

  • a five-operation algebra with 7 / 7 Lean refinement contracts verified
  • ~41 registered components; one evaluator shared across Node, happy-dom, and browser tiers
  • ~10 reference apps drive the matrix

See also