Repository navigation
CEM-ML: Evolutionary Architecture for the Declarative Web Stack #24
Replies: 1 comment
Declarative Amsterdam 2026 — slide resourcesExamples and supporting sources for the 30-slide session. The public Studio Slide resourcesAll 30 physical slides are included below, in the current native deck order.
Examples already shared in this discussionThese original examples remain available alongside the guided Studio route:
Playground links prefill the source and formats; choose Render to produce The fragment-library link uses ordinary HTTPS so it opens from GitHub; use the Use checked-in or disposable example data. Do not enter real credentials. The local kit and saved reference index documents the dated local-transfer fallback. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Declarative Amsterdam 2026 presentation introduction
Brief introduction
What if the languages and tools in a web application were not a tower of fixed,
unrelated standards, but an architecture able to evolve from shared declarative
contracts?
CEM-ML is the foundation of an open-source evolutionary architecture platform
for declarative web applications. It treats a language, its schema, its
transformations, and its presentation rules as related parts of one document
lifecycle. Instead of adding another hard-coded converter for every pair of
formats, CEM-ML lets schema packages describe how structured content is read,
validated, queried, transformed, formatted, and rendered.
The language is deliberately small and visual. Structure uses braces,
attributes use
@, and|separates a node's header from its content:This is recognizable as a web document, but its meaning is not trapped in one
browser rendering step. During the tutorial, participants will change this
document, introduce and repair a validation error, inspect the resulting typed
structure and source-linked diagnostic, convert a second input format into the
same model, and transform the result into a working web view. One source stays
visible while its lifecycle expands.
That lifecycle is the platform's common semantic spine. CEM-ML currently reads
canonical CEM-ML and schema-packaged formats including CSV, JSON, YAML, CSS,
SCSS, Markdown, and the HTML/XML family. The same engine provides parsing,
validation, inspection, conversion, reporting, and transformation-graph
execution. Source mappings remain attached to the content, allowing a
diagnostic or generated result to be traced back to the bytes and transformation
that produced it.
The platform already applies this model beyond a command-line demonstration:
cem_mlengine and its schema packages define the shared documentlifecycle and compile to native and WebAssembly runtimes.
typed content rather than introducing an application-specific data model.
same operations to terminals, build systems, workers, and browser hosts.
<cem-element>uses the browser runtime as a declarative, light-DOM componentsubstrate: data, events, queries, and templates remain markup while the
reusable runtime owns the necessary imperative machinery.
how tokens, controls, a local-first workbench, and a static application can
grow from that substrate rather than from framework-local UI behavior.
The architecture is evolutionary because those contracts are its DNA. A new
content type, schema version, query vocabulary, formatter, transform, component,
or host can join the lifecycle without redefining the whole stack. The platform
does not claim that every layer is finished: public CLI distribution is being
prepared, and the component catalog is actively migrating from compatibility
code to CEM-ML declarations. Those migrations are themselves useful evidence
for the central idea—the architecture is designed to replace and evolve its
parts while preserving shared semantics, diagnostics, and source identity.
Mini-tutorial journey
The proposed 60 minutes are organized around visible outcomes:
formats, validators, build steps, component runtimes, and source mappings.
covering only the syntax needed for the exercise.
structure, follow a source-linked error, and convert equivalent structured
input through the same lifecycle.
query/template transformation and render the result as light DOM.
WebAssembly runtime,
<cem-element>, theme, components, Studio, and Site.and which languages, schemas, or application layers could join the model.
The goal is not for everyone to understand the implementation in one hour. It
is for participants to leave having seen and changed CEM-ML, having used its
core lifecycle, and having a concrete answer to the question: what becomes
possible when the declarative web stack is designed to evolve?
All reactions