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:
- server-rendered interactive applications with durable realtime sessions;
- checked templates and components;
- fast generators that produce maintainable code;
- secure scoped data access by default;
- passwordless authentication and recent-auth checks;
- colocated CSS and JavaScript with clear scoping;
- a documented JavaScript client bridge;
- observability, load behavior, testing, and release discipline.
Reference inputs:
- Phoenix 1.8 release notes:
<https://www.phoenixframework.org/blog/phoenix-1-8-released>
- Phoenix LiveView 1.2 release notes:
<https://www.phoenixframework.org/blog/phoenix-liveview-1-2-released>
Existing 0x0 Base
0x0 already has useful building blocks:
runtime/live-runtime.0x0andtools/live-runtime.py;runtime/web-runtime.0x0andtools/web-runtime-check.py;frameworks/web/runtime.0x0,frameworks/net/runtime.0x0, and
frameworks/process/runtime.0x0;
- library packages such as
live,live-view,live-template,
live-component, live-router, live-socket, live-diff,
live-streams, live-form, live-uploads, live-test, web,
websocket, http-server, and web-scaffold;
- Kukulkan app code and deployment surfaces that already exercise live UI
behavior.
This roadmap turns those pieces into one coherent production framework.
Completion Rule
The framework is production-ready only when:
- framework APIs are implemented in 0x0 source or source-owned tooling;
- all runtime behavior has positive and negative tests;
- deterministic test fixtures stay test-only;
- public docs, generated API docs, tutorials, and package pages are current;
- release evidence includes browser, transport, security, performance, and
deployment results;
0x0.jmp0x1b.com, package registry pages, and Kukulkan app docs are
redeployed after every framework change;
- no feature is closed by description alone.
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:
- app generator, live resource generator, auth generator, component generator,
and package generator;
- scoped data access threaded through routes, live sessions, PubSub, and
context calls;
- magic-link authentication, session lifecycle, recent-auth or sudo mode, CSRF,
origin, and rate-limit checks;
- simple layouts with explicit component calls and slots;
- checked components with attributes, slots, defaults, required values, and
diagnostics;
*.html.0x0templates with tokenizer/parser separation, lowering, formatter,
debug annotations, and generated source maps;
- colocated CSS and JavaScript extracted at compile time, with scoping
strategies and stable generated asset names;
- WebSocket transport with heartbeat, reconnect, backpressure, close behavior,
malformed-frame rejection, and versioned wire messages;
- diff generation and DOM patch application with stable revision semantics;
- forms, validation, streams, uploads, navigation, flash, and async tasks;
- first-class test helpers for rendered HTML, events, patches, uploads,
redirects, live navigation, authorization, and disconnected/reconnected
sessions;
- production deployment profile with CSP-safe assets, observability, metrics,
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:
- Add
frameworks/live/as the framework namespace. - Add
docs/live-framework.htmlas the user-facing framework overview. - Add
release/live-framework-surface.tsvwith package, runtime, tool, docs,
tests, and owner rows.
- Map current live/web libraries to the new framework namespace without
breaking existing imports.
- Add
make live-framework-surface-check.
Acceptance:
- The surface check proves every listed API has source, tests, docs, and
release evidence.
- Existing
make live-runtime-checkstill passes.
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:
- Define app directories:
src/,web/,web/live/,web/components/,
web/templates/, web/assets/, web/auth/, web/scopes/, and test/.
- Add package metadata for live apps and live packages.
- Add app discovery for routes, templates, colocated assets, and tests.
- Document import boundaries between pure modules, runtime adapters, and app
modules.
Acceptance:
- A minimal generated app can be discovered without network or remote services.
- App discovery rejects misplaced production fixtures.
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:
- Add tokenizer for
*.html.0x0tags, text, comments, attributes,
interpolation, event metadata, slots, and control forms.
- Add parser that produces a typed template AST.
- Preserve line/column spans for all nodes.
- Reject invalid nesting, duplicate attributes, unsafe tags, invalid event
names, unbalanced interpolation, and unknown directives.
Acceptance:
- Positive and negative parser fixtures pass.
- Diagnostics include file, line, column, code, and quick fix text when useful.
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:
- Add a formatter for
*.html.0x0. - Add formatter configuration for tag wrapping, attribute order, embedded code,
<script>, and <style>.
- Add idempotence tests.
- Add editor-facing formatting command documentation.
Acceptance:
- Formatting a template twice produces identical output.
- Invalid templates are not reformatted silently.
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:
- Lower template AST into typed render descriptors.
- Emit stable source maps from generated 0x0 back to template spans.
- Preserve debug annotations with opt-in module configuration.
- Add generated API docs for lowered render functions.
Acceptance:
- A template compile error points to the original template location.
- Lowered output is deterministic across runs.
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:
- Add component declarations with typed attributes, defaults, required
attributes, optional attributes, global attributes, and slots.
- Add compile-time validation for component calls.
- Add slot rendering with caller-owned content.
- Add docs and examples for basic and advanced components.
Acceptance:
- Missing required attrs, unknown attrs, duplicate slots, and bad slot payloads
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:
- Implement root layout and app layout components.
- Add explicit layout calls from live views.
- Add live links, patch navigation, redirect navigation, flash, and breadcrumbs.
- Add route-aware active link helpers.
Acceptance:
- Navigation tests cover disconnected render, connected render, patch,
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:
- Extract colocated
<style>blocks at compile time. - Generate stable asset filenames and content hashes.
- Add root boundary attributes for template ownership.
- Add configurable scoping strategies: none, attribute scope, and future CSS
@scope.
- Add CSP-safe asset docs.
Acceptance:
- No production path requires inline style execution.
- Scoped CSS does not affect markup outside the owning component in browser
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:
- Extract colocated
<script>blocks at compile time. - Add hook registration, lifecycle callbacks, and command encoding.
- Add
0x0.Live.JScommand values for show, hide, toggle, focus, dispatch,
push, patch, and navigate.
- Add JSON encoding for JS command values sent through events.
Acceptance:
- Browser tests prove hook mount/update/destroy and event push behavior.
- CSP blocks inline scripts while extracted hooks still work.
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:
- Define session id, route, params, assigns, temporary assigns, private data,
revision, flash, lifecycle status, and capabilities.
- Add mount, handle params, handle event, handle info, terminate, and reconnect
callbacks.
- Add session expiration and cleanup.
Acceptance:
- Tests cover normal lifecycle, expired sessions, stale tokens, and reconnect
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:
- Define join, params, event, diff, heartbeat, upload, reply, error, redirect,
patch, and close messages.
- Add version negotiation.
- Add encoders/decoders and malformed message diagnostics.
- Add compatibility fixtures for at least one previous protocol version once
released.
Acceptance:
- Bad protocol version, missing fields, bad message kind, invalid revision, and
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:
- Implement RFC-compliant WebSocket framing for text, binary, ping, pong, close,
fragmentation, masking, and size limits.
- Add origin, subprotocol, timeout, and rate-limit checks.
- Add bounded connection concurrency.
- Add graceful shutdown and descriptor leak checks.
Acceptance:
- Loopback tests cover accepted and rejected upgrades, frame variants,
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:
- Add keyed DOM identity, static/dynamic segment tracking, and revision checks.
- Add append, prepend, replace, remove, attribute, text, and noop operations.
- Add stale-diff rejection and recovery.
- Add deterministic patch serialization.
Acceptance:
- Patch tests prove stable output for unchanged input and correct recovery for
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:
- Add a browser client package with connect, reconnect, heartbeat, event push,
patch apply, upload, hook lifecycle, and debug logging.
- Add generated client asset bundling.
- Add public JavaScript client docs.
- Add no-inline-script CSP mode.
Acceptance:
- Browser tests prove initial render, event round trip, patch application,
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:
- Add form state, field state, errors, touched/dirty tracking, and submit
status.
- Add server validation and live validation.
- Add input components for text, textarea, checkbox, radio, select, file, and
hidden fields.
- Add accessibility attributes and label/error wiring.
Acceptance:
- Tests cover valid submit, invalid submit, live validation, nested fields,
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:
- Add stream descriptors for append, prepend, insert, update, delete, reset,
and limit.
- Add keyed list patching.
- Add scoped PubSub integration for stream updates.
- Add memory and payload budgets.
Acceptance:
- Large-list tests prove bounded patch sizes and correct ordering.
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:
- Add upload entry descriptors, chunking, progress, cancel, consume, and error
states.
- Enforce file size, MIME type, extension, and path policies.
- Add temporary file cleanup.
- Add direct-to-object-store extension point.
Acceptance:
- Tests cover accepted upload, rejected MIME, oversized upload, cancellation,
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:
- Add async task start, cancel, result, failure, timeout, and progress events.
- Add supervision policy for view-owned tasks.
- Add backpressure when events arrive faster than the client can receive.
Acceptance:
- Tests cover success, failure, cancellation, timeout, disconnect, reconnect,
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:
- Add topic descriptors, subscriptions, broadcasts, presence, and leave events.
- Thread scope identity through subscription and broadcast helpers.
- Reject cross-scope delivery by default.
- Add replay policy for reconnecting clients.
Acceptance:
- Tests prove user A cannot receive user B scoped messages.
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:
- Add scope structs for current user, organization, session metadata, IP,
request id, and capabilities.
- Add route and live-session scope assignment.
- Generate context calls that accept scope as the first argument.
- Add docs for multi-tenant and system scopes.
Acceptance:
- Generated resources cannot compile if scoped context calls omit scope where
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:
- Add magic-link login and registration.
- Add optional password auth.
- Add recent-auth or sudo mode for sensitive actions.
- Add session renewal, logout all, token rotation, CSRF, origin checks,
remember-me, and dev mailbox.
Acceptance:
- Security tests cover expired tokens, reused tokens, forged CSRF, stale sudo,
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:
- Add endpoint configuration for host, port, TLS profile, static files,
websocket path, live session path, request id, compression, and health.
- Add router macros or source forms for HTTP routes, live routes, pipelines,
plugs/middleware, and scopes.
- Add route introspection.
Acceptance:
- Endpoint tests cover HTTP route, live route, static asset, health, 404, 405,
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:
- Add generators for new app, live resource, HTML resource, JSON resource,
auth, scope, component, layout, and package.
- Generate tests, docs, package metadata, and release evidence rows.
- Keep generated code small, readable, and editable.
Acceptance:
- Generated apps pass live framework gates without manual edits.
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:
- Add
zero serveor equivalent framework serve command. - Add template reload, CSS/JS rebuild, route reload, browser reload, and error
overlay.
- Add bounded file watching.
- Add resource caps so the server does not break the user session.
Acceptance:
- Editing template, component, CSS, JS, and route files updates a local browser
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:
- Add helpers for disconnected render, connected render, click, submit,
change, upload, patch, redirect, assert html, assert patch, assert push event,
reconnect, and auth scope.
- Add deterministic test fixtures for runtime-only behavior.
- Add browser tests for production client behavior.
Acceptance:
- Test helpers can validate a generated live CRUD resource and auth flow.
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:
- Add accessible core components for button, link, modal, table, form, flash,
navigation, dropdown, tabs, pagination, and empty state.
- Add light/dark theme support.
- Add focus handling and keyboard navigation.
- Add WCAG checks to generated app gates.
Acceptance:
- Generated UI passes accessibility checks for forms, modals, navigation, and
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:
- Add structured logs, metrics, traces, session ids, request ids, event ids,
patch sizes, queue depth, reconnect counts, and error classes.
- Add debug annotations for templates and patches.
- Add operator docs for common incidents.
Acceptance:
- Failure tests produce actionable logs and metrics without leaking secrets.
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:
- Add CSP generation, asset integrity, XSS checks, origin policy, host policy,
request body limits, upload scanning hooks, rate limits, and capability
denial.
- Add session secret rotation and key management docs.
- Add security-negative tests.
Acceptance:
- Security gate rejects inline assets, unsafe event names, cross-origin socket
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:
- Add benchmarks for initial render, connect, event latency, patch size,
reconnect, streams, uploads, and concurrent sessions.
- Add memory budgets and CPU budgets.
- Add payload compression policy.
- Add regression thresholds.
Acceptance:
- Release evidence includes budgets, measured results, and regression status.
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:
- Add scoped persistence adapters for file, database, object store, search,
email, and job queues.
- Add transaction and idempotency patterns for live events.
- Add service error mapping for views and forms.
Acceptance:
- Generated resources can use a production persistence adapter with scope
enforcement and rollback behavior.
Milestone 30: Kukulkan Live Adoption
Goal: use the framework in a real 0x0 app.
Work:
- Move Kukulkan live UI to the framework endpoint, router, auth, scopes,
templates, components, client bridge, and release gates.
- Keep
kukulkan-app.jmp0x1b.comandkukulkan.jmp0x1b.comdeployment paths
current.
- Add rollback and smoke evidence.
Acceptance:
- Kukulkan live app deploys with the framework and preserves the intended UI,
CSP behavior, auth flow, and live interactivity.
Milestone 31: Documentation And Learning Path
Goal: make the framework learnable.
Work:
- Add beginner tutorial, how-to guide, cookbook recipes, API reference,
generated docs, package pages, operator runbook, and migration notes from
lower-level live packages to the unified framework.
- Add examples for app generation, components, forms, uploads, streams, auth,
scopes, testing, deployment, and debugging.
Acceptance:
- A beginner can build, test, and run a small live app from public docs without
reading source files.
Milestone 32: Release Integration
Goal: ship the framework as a supported 0x0 product surface.
Work:
- Add release manifest rows for framework packages, client assets, runtime
adapters, generators, docs, and gates.
- Add compatibility policy for templates, wire protocol, generated code,
component APIs, client assets, and package versions.
- Add upgrade and rollback notes.
- Redeploy public docs and registry pages.
Acceptance:
- The release gate proves framework source, tests, docs, generated artifacts,
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.