0x0LearnReferenceLibraries0x0.jmp0x1b.com

0x0 Live Framework Production Roadmap

This roadmap defines the work required for 0x0 to ship a production web

framework that can compete with Phoenix and Phoenix LiveView while staying

native to 0x0: typed source, capability-checked runtime effects, source-owned

tooling, small release artifacts, and explicit runtime evidence.

The target is not Phoenix compatibility. The target is the same class of

developer experience and production reliability:

Reference inputs:

<https://www.phoenixframework.org/blog/phoenix-1-8-released>

<https://www.phoenixframework.org/blog/phoenix-liveview-1-2-released>

Existing 0x0 Base

0x0 already has useful building blocks:

frameworks/process/runtime.0x0;

live-component, live-router, live-socket, live-diff,

live-streams, live-form, live-uploads, live-test, web,

websocket, http-server, and web-scaffold;

behavior.

This roadmap turns those pieces into one coherent production framework.

Completion Rule

The framework is production-ready only when:

deployment results;

redeployed after every framework change;

Each milestone below is intentionally short enough for one focused run. A

milestone should generally land as one commit with ADR/RFC records when it

changes production behavior.

Competitive Baseline

The framework must cover these Phoenix-class capabilities:

and package generator;

context calls;

origin, and rate-limit checks;

diagnostics;

debug annotations, and generated source maps;

strategies and stable generated asset names;

malformed-frame rejection, and versioned wire messages;

redirects, live navigation, authorization, and disconnected/reconnected

sessions;

load budgets, and rollback.

Milestone 0: Framework Baseline Ledger

Milestone 0 status: implemented.

Evidence: frameworks/live/runtime.0x0, frameworks/live/package-map.tsv,

docs/live-framework.html, release/live-framework-surface.tsv, and

make live-framework-surface-check.

Goal: create the source of truth for live framework surfaces.

Work:

tests, and owner rows.

breaking existing imports.

Acceptance:

release evidence.

Milestone 1: App And Module Shape

Milestone 1 status: implemented.

Evidence: frameworks/live/app.0x0, frameworks/live/app-directories.tsv,

frameworks/live/package-metadata.tsv,

tools/live-framework-app-discovery.py, docs/live-framework.html, and

make live-framework-app-shape-check.

Goal: define how a 0x0 live application is organized.

Work:

web/templates/, web/assets/, web/auth/, web/scopes/, and test/.

modules.

Acceptance:

Milestone 2: Template Tokenizer And Parser

Milestone 2 status: implemented.

Evidence: tools/html-template-source.py, tools/live-runtime.py,

tests/live-template-parser.sh, docs/live-framework.html, and

make live-template-parser-check.

Goal: replace ad hoc template scanning with a structured parser pipeline.

Work:

interpolation, event metadata, slots, and control forms.

names, unbalanced interpolation, and unknown directives.

Acceptance:

Milestone 3: Template Formatter

Milestone 3 status: implemented.

Evidence: tools/html-template-source.py, tests/live-template-formatter.sh,

docs/live-framework.html, docs/editors.html, and

make live-template-formatter-check.

Goal: make live templates pleasant to maintain.

Work:

<script>, and <style>.

Acceptance:

Milestone 4: Template Lowering And Source Maps

Milestone 4 status: implemented.

Evidence: tools/live-runtime.py, tests/live-template-lowering.sh,

docs/live-framework.html, docs/live-runtime.html, and

make live-template-lowering-check.

Goal: lower templates into checked 0x0 render functions.

Work:

Acceptance:

Milestone 5: Component Attributes And Slots

Milestone 5 status: implemented.

Evidence: frameworks/live/component-boundaries.tsv,

tools/live-component-boundary-check.py,

tests/live-component-boundary.sh, docs/live-framework.html, and

make live-component-boundary-check.

Goal: implement checked component boundaries.

Work:

attributes, optional attributes, global attributes, and slots.

Acceptance:

fail with stable diagnostics.

Milestone 6: Layouts And Navigation

Milestone 6 status: implemented.

Evidence: frameworks/live/navigation.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-navigation-check.py,

tests/live-navigation.sh, docs/live-framework.html, and

make live-navigation-check.

Goal: provide simple explicit layouts and live navigation.

Work:

Acceptance:

redirect, and flash persistence.

Milestone 7: Colocated CSS Extraction

Milestone 7 status: implemented.

Evidence: frameworks/live/css-scope-policies.tsv,

tools/live-css-extract.py, tests/live-css-extraction.sh,

docs/live-framework.html, and make live-css-extraction-check.

Goal: support component-local CSS without runtime inline style violations.

Work:

@scope.

Acceptance:

tests.

Milestone 8: Colocated JavaScript And Hooks

Milestone 8 status: implemented.

Evidence: frameworks/live/js-commands.tsv, tools/live-js-extract.py,

tests/live-js-hooks.sh, docs/live-framework.html, and

make live-js-hooks-check.

Goal: support component-local hooks and commands without unsafe inline scripts.

Work:

push, patch, and navigate.

Acceptance:

Milestone 9: Live Session State

Milestone 9 status: implemented.

Evidence: frameworks/live/session-policy.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-session-check.py,

tests/live-session-state.sh, docs/live-framework.html, and

make live-session-state-check.

Goal: make live sessions explicit, typed, and observable.

Work:

revision, flash, lifecycle status, and capabilities.

callbacks.

Acceptance:

after transport interruption.

Milestone 10: Wire Protocol

Milestone 10 status: implemented.

Evidence: frameworks/live/wire-protocol.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-wire-protocol-check.py,

tests/live-wire-protocol.sh, docs/live-framework.html, and

make live-wire-protocol-check.

Goal: define a versioned live wire protocol.

Work:

patch, and close messages.

released.

Acceptance:

oversized payloads fail closed.

Milestone 11: WebSocket Transport

Milestone 11 status: implemented.

Evidence: frameworks/live/websocket-transport.tsv,

runtime/live-runtime.0x0, frameworks/live/runtime.0x0,

tools/live-websocket-transport-check.py,

tests/live-websocket-transport.sh, docs/live-framework.html, and

make live-websocket-transport-check.

Goal: make the production transport robust enough for real apps.

Work:

fragmentation, masking, and size limits.

Acceptance:

malformed frames, timeout, close, and leak checks.

Milestone 12: Diff Engine

Milestone 12 status: implemented.

Evidence: frameworks/live/diff-operations.tsv,

runtime/live-runtime.0x0, frameworks/live/runtime.0x0,

tools/live-diff-engine-check.py, tests/live-diff-engine.sh,

docs/live-framework.html, and make live-diff-engine-check.

Goal: update the browser with minimal and stable patches.

Work:

Acceptance:

stale revisions.

Milestone 13: Browser Client Bridge

Milestone 13 status: implemented.

Evidence: frameworks/live/client/zero-live-client.js,

frameworks/live/browser-client.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-browser-client-check.py,

tests/live-browser-client.sh, tests/live-browser-client-node.js,

docs/live-framework.html, and make live-browser-client-check.

Goal: ship a real client runtime, not only deterministic bridge reports.

Work:

patch apply, upload, hook lifecycle, and debug logging.

Acceptance:

reconnect, and CSP-safe asset loading.

Milestone 14: Forms And Validation

Milestone 14 status: implemented.

Evidence: frameworks/live/form-fields.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-form-check.py,

tests/live-form.sh, docs/live-framework.html, and make live-form-check.

Goal: make forms first-class.

Work:

status.

hidden fields.

Acceptance:

accessibility structure, and CSRF failure.

Milestone 15: Streams And Collections

Milestone 15 status: implemented.

Evidence: frameworks/live/stream-operations.tsv,

runtime/live-runtime.0x0, frameworks/live/runtime.0x0,

tools/live-streams-check.py, tests/live-streams.sh,

docs/live-framework.html, and make live-streams-check.

Goal: handle large changing lists efficiently.

Work:

and limit.

Acceptance:

Milestone 16: Uploads

Milestone 16 status: implemented.

Evidence: frameworks/live/upload-policy.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-uploads-check.py,

tests/live-uploads.sh, docs/live-framework.html, and

make live-uploads-check.

Goal: support production file uploads through live sessions.

Work:

states.

Acceptance:

cleanup, and denied path traversal.

Milestone 17: Async Tasks

Milestone 17 status: implemented.

Evidence: frameworks/live/async-policy.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-async-check.py,

tests/live-async.sh, docs/live-framework.html, and make live-async-check.

Goal: integrate background work without leaking process details into views.

Work:

Acceptance:

and task cleanup.

Milestone 18: PubSub And Scoped Broadcast

Milestone 18 status: implemented.

Evidence: frameworks/live/pubsub-policy.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-pubsub-check.py,

tests/live-pubsub.sh, docs/live-framework.html, and

make live-pubsub-check.

Goal: make realtime updates safe by default.

Work:

Acceptance:

Milestone 19: Scoped Data Access

Milestone 19 status: implemented.

Evidence: frameworks/live/scope-policy.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-scope-check.py,

tests/live-scope.sh, docs/live-framework.html, and make live-scope-check.

Goal: make secure data access the default framework pattern.

Work:

request id, and capabilities.

Acceptance:

scope is required.

Milestone 20: Authentication And Session Security

Milestone 20 status: implemented.

Evidence: frameworks/live/auth-policy.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-auth-check.py,

tests/live-auth.sh, docs/live-framework.html, and make live-auth-check.

Goal: ship framework-owned auth defaults.

Work:

remember-me, and dev mailbox.

Acceptance:

session fixation, and rate-limit denial.

Milestone 21: Router And Endpoint

Milestone 21 status: implemented.

Evidence: frameworks/live/endpoint-policy.tsv,

frameworks/live/routes.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-endpoint-check.py,

tests/live-endpoint.sh, docs/live-framework.html, and

make live-endpoint-check.

Goal: provide a complete application endpoint.

Work:

websocket path, live session path, request id, compression, and health.

plugs/middleware, and scopes.

Acceptance:

and middleware ordering.

Milestone 22: Generators

Milestone 22 status: implemented.

Evidence: frameworks/live/generators.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-generator.py,

tests/live-generator.sh, docs/live-framework.html, and

make live-generator-check.

Goal: make common app work fast and consistent.

Work:

auth, scope, component, layout, and package.

Acceptance:

Milestone 23: Developer Server

Milestone 23 status: implemented.

Evidence: frameworks/live/dev-server-policy.tsv,

runtime/live-runtime.0x0, frameworks/live/runtime.0x0,

tools/live-dev-server-check.py, tests/live-dev-server.sh,

docs/live-framework.html, and make live-dev-server-check.

Goal: tighten the local development loop.

Work:

overlay.

Acceptance:

without restarting the whole app.

Milestone 24: Testing Framework

Milestone 24 status: implemented.

Evidence: frameworks/live/test-helpers.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-test-framework-check.py,

tests/live-test-framework.sh, docs/live-framework.html, and

make live-test-framework-check.

Goal: provide LiveView-class test helpers.

Work:

change, upload, patch, redirect, assert html, assert patch, assert push event,

reconnect, and auth scope.

Acceptance:

Milestone 25: Accessibility And Design System

Milestone 25 status: implemented.

Evidence: frameworks/live/design-components.tsv,

frameworks/live/theme-tokens.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-accessibility-check.py,

tests/live-accessibility.sh, docs/live-framework.html, and

make live-accessibility-check.

Goal: make generated UI production-friendly by default.

Work:

navigation, dropdown, tabs, pagination, and empty state.

Acceptance:

live updates.

Milestone 26: Observability And Debugging

Milestone 26 status: implemented.

Evidence: frameworks/live/observability-policy.tsv,

runtime/live-runtime.0x0, frameworks/live/runtime.0x0,

tools/live-observability-check.py, tests/live-observability.sh,

docs/live-framework.html, and make live-observability-check.

Goal: make runtime behavior diagnosable.

Work:

patch sizes, queue depth, reconnect counts, and error classes.

Acceptance:

Milestone 27: Security Hardening

Milestone 27 status: implemented.

Evidence: frameworks/live/security-policy.tsv, runtime/live-runtime.0x0,

frameworks/live/runtime.0x0, tools/live-security-check.py,

tests/live-security.sh, docs/live-framework.html,

docs/live-security.html, and make live-security-check.

Goal: make secure production deployment the default.

Work:

request body limits, upload scanning hooks, rate limits, and capability

denial.

Acceptance:

attempts, oversized bodies, and unauthorized scope access.

Milestone 28: Performance And Load

Milestone 28 status: implemented.

Evidence: frameworks/live/performance-budgets.tsv,

runtime/live-runtime.0x0, frameworks/live/runtime.0x0,

tools/live-performance-check.py, tests/live-performance.sh,

docs/live-framework.html, docs/live-performance.html, and

make live-performance-check.

Goal: prove the framework can handle real interactive workloads.

Work:

reconnect, streams, uploads, and concurrent sessions.

Acceptance:

Milestone 29: Persistence And Service Integration

Milestone 29 status: implemented.

Evidence: frameworks/live/persistence-adapters.tsv,

runtime/live-runtime.0x0, frameworks/live/runtime.0x0,

tools/live-persistence-check.py, tests/live-persistence.sh,

docs/live-framework.html, docs/live-persistence.html, and

make live-persistence-check.

Goal: connect live apps to production data and service boundaries.

Work:

email, and job queues.

Acceptance:

enforcement and rollback behavior.

Milestone 30: Kukulkan Live Adoption

Goal: use the framework in a real 0x0 app.

Work:

templates, components, client bridge, and release gates.

current.

Acceptance:

CSP behavior, auth flow, and live interactivity.

Milestone 31: Documentation And Learning Path

Goal: make the framework learnable.

Work:

generated docs, package pages, operator runbook, and migration notes from

lower-level live packages to the unified framework.

scopes, testing, deployment, and debugging.

Acceptance:

reading source files.

Milestone 32: Release Integration

Goal: ship the framework as a supported 0x0 product surface.

Work:

adapters, generators, docs, and gates.

component APIs, client assets, and package versions.

Acceptance:

browser behavior, security, performance, and deployment evidence.

Suggested Implementation Order

1. Finish the source-owned framework namespace and surface ledger.

2. Stabilize templates, components, formatting, lowering, and source maps.

3. Harden transport, protocol, diff, and browser bridge.

4. Add forms, streams, uploads, async tasks, PubSub, and scoped data access.

5. Add auth, endpoint, router, generators, and dev server.

6. Add testing, accessibility, observability, security, performance, and

service integration.

7. Move Kukulkan to the unified framework.

8. Publish docs, package pages, release evidence, and compatibility policy.

First Run Candidate

The best first implementation run is Milestone 0. It is small, creates the

tracking surface, and gives every later run a precise place to record source,

tests, docs, and release evidence.