0x0 Public Documentation And Website Migration Roadmap
This roadmap makes 0x0 the public successor to jmp0x1b/lang for language
documentation, learning material, static websites, and the library registry.
The target is not a copy of the old documentation. The target is a complete
0x0 public documentation system that describes only what 0x0 implements today,
clearly marks deferred work, and gives users a safe path away from
jmp0x1b/lang and jmp0x1b/libs.
Scope
In scope:
- create a first-class static docs site for
0x0.jmp0x1b.com; - match the useful public documentation depth of
jmp0x1b/lang; - create a
learn-0x0course from implemented 0x0 behavior; - add public reference docs for language, packages, diagnostics, APIs,
capabilities, runtime boundaries, release compatibility, and migration;
- add best-practices and lint documentation for 0x0 source and libraries;
- build cookbook and task-oriented tutorial pages from current examples,
libraries, and production app surfaces;
- publish a 0x0 library registry view for
libs.jmp0x1b.com; - unregister or deprecate the old
jmp0x1b/libsregistry entries in a
reversible, documented way;
- update
lang.jmp0x1b.com,0x0.jmp0x1b.com,libs.jmp0x1b.com, and
jmp0x1b.com with correct 0x0 successor messaging;
- keep every default gate resource-safe for the user session.
Out of scope:
- presenting embedded, bare-metal, HAL, RTOS, secure boot, hardware proof,
space assurance, or mission I/O behavior as implemented 0x0 behavior;
- promising actors, supervision, distributed replay, or generic LiveView runtime
behavior as core language/runtime features unless the current 0x0
implementation proves that slice;
- mutating remote static sites before local artifacts, manifests, rollback
paths, and smoke checks exist;
- running known session-breaking gates as part of the default path.
Replacement Definition
0x0 has reached documentation replacement parity when:
site/contains a complete public docs portal for0x0.jmp0x1b.com;- the old
lang/sitepublic structure has an equivalent 0x0 path for every
non-embedded page class;
- users can learn 0x0 from zero through packages, tests, libraries, compiler
artifacts, runtime boundaries, and app usage without reading jmp0x1b/lang;
- reference docs describe current parser, checker, package, API, runtime,
release, and compatibility behavior without aspirational claims;
- library docs and registry pages are generated from 0x0 libraries and smoke
test evidence;
jmp0x1b/langandjmp0x1b/libsare documented as obsolete or archived
surfaces, with migration links to 0x0;
- the deployed static sites can be rebuilt, published, verified, and rolled back
without relying on broad unsafe gates.
Session Safety Rules
The docs and website work must not repeat known session-breaking behavior.
- Do not run
make docs-checkas a default verification step until it is made
resource-safe or replaced.
- Do not run broad compiler sweeps or parallel compiler jobs by default.
- Default docs, site, and registry gates must be single-job, timeout-bounded,
and explicit about which files they inspect.
- Remote commands over
ssh deploy@138.197.233.77must start with read-only
inventory and dry-run publish plans.
- Deployment milestones must include rollback commands before publishing.
- Browser, crawler, link-check, or full registry jobs must have explicit input
caps and timeouts.
- Every milestone must land in at least one dedicated commit.
Documentation Truth Policy
Every public page must follow the 0x0 documentation standard:
- document implemented behavior as implemented behavior;
- document limitations as limitations;
- document future work only in explicitly named deferred sections;
- keep embedded work deferred until 0x0 has the implementation;
- mark app-specific runtime surfaces as app-specific, not generic language
features;
- never use old
jmp0x1b/langclaims to fill a 0x0 gap unless the 0x0 repo has
matching source, tests, and gates.
Standing Gates
These gates are introduced by the roadmap. Until the milestone that creates a
gate lands, the gate name is a target contract rather than a command to run.
Required safe gates:
make public-docs-inventory-check
make public-site-link-check
make public-reference-check
make public-best-practices-check
make public-cookbook-check
make libs-registry-site-check
make public-migration-check
make static-site-deploy-plan-check
Gate rules:
- each target must be safe to run in a normal user session;
- each target must document its timeout and process model;
- each target must fail on stale generated content when it owns generated
output;
- no target may invoke
make docs-checkuntil that command is fixed or wrapped
by a resource-safe mode;
- deployment gates may verify local artifacts and remote state, but publishing
remains a deliberate release step.
Milestone 0: Documentation Parity Inventory And Safety Baseline
Status: complete.
Goal: turn the current analysis into a checked inventory that separates
required 0x0 public docs from embedded/deferred material and unsafe commands.
0.1 Source Inventory
Required work:
- inventory
jmp0x1b/lang/sitepublic pages; - inventory non-embedded
jmp0x1b/lang/docspages that should influence 0x0
public docs;
- inventory existing 0x0 docs, examples, libraries, runtime files, app docs,
and generated API docs;
- map each old public page class to one of:
- direct 0x0 equivalent exists;
- needs new 0x0 page;
- needs rewritten 0x0 page from current implementation;
- app-specific only;
- embedded/deferred;
- obsolete and should not be ported;
- record source paths, target paths, owner milestone, and acceptance evidence.
Artifacts:
docs/public-docs-gap.html;docs/public-docs-source-map.tsv;- updated
docs/documentation.htmlentry for this roadmap.
Exit gate:
make public-docs-inventory-check
Completion rule: the gate must fail if an embedded-only old page is mapped to a
current 0x0 feature page.
0.2 Website Route Contract
Required work:
- define the canonical
site/tree for0x0.jmp0x1b.com; - reserve route names for Start, Learn, Build, Reference, Cookbook, Tasks,
Libraries, Migration, and Release;
- define canonical page titles, descriptions, and relative links;
- define how generated API and library registry pages appear in navigation;
- define how old
lang.jmp0x1b.comURLs redirect or point to replacement
pages;
- define which pages are hosted under
libs.jmp0x1b.comrather than
0x0.jmp0x1b.com.
Artifacts:
docs/public-site-map.html;site/manifest.tsv;site/redirects.tsv.
Exit gate:
make public-site-route-check
Completion rule: every planned public route must have a source file, redirect
rule, or explicit deferred reason.
0.3 Safe Docs Gate Contract
Required work:
- document why
make docs-checkis not safe as a default gate right now; - define a safe replacement path for public docs and site checks;
- define per-gate timeout, file count limits, and single-process behavior;
- ensure generated docs checks do not start broad compiler sweeps;
- update public docs to avoid telling users to run unsafe commands by default.
Artifacts:
docs/safe-public-docs-gates.html;tools/public-docs-inventory-check.sh;tools/public-site-link-check.sh.
Exit gate:
make public-docs-safe-gates-check
Completion rule: the gate must prove that public docs verification does not
invoke make docs-check.
0.4 Remote Website Inventory
Required work:
- perform read-only inventory of the server behind
ssh deploy@138.197.233.77;
- identify document roots, domain configs, current static files, and existing
deployment scripts for:
- lang.jmp0x1b.com;
- 0x0.jmp0x1b.com;
- libs.jmp0x1b.com;
- jmp0x1b.com;
- record ownership, publish user, rollback location, and checksum strategy;
- do not mutate remote files in this submilestone.
Artifacts:
docs/static-sites-remote-inventory.html;deploy/static-sites/remote-roots.tsv;deploy/static-sites/read-only-inventory.logor a redacted summary if logs
contain environment-specific details.
Exit gate:
make static-site-remote-inventory-check
Completion rule: no remote mutation command is part of the inventory gate.
Milestone 1: Static Website Foundation
Status: complete.
Goal: create the local static site structure and navigation for
0x0.jmp0x1b.com.
1.1 Site Directory Contract
Required work:
- create
site/index.html; - create
site/tutorials.html; - create
site/how-to.html; - create
site/cookbook.html; - create
site/reference.html; - create
site/tasks.html; - create
site/learn-0x0/index.html; - add
site/libraries.html; - add
site/migration.html; - add
site/release.html; - add an explicit embedded-deferred page instead of porting embedded claims.
Required content:
- Start section with repository overview, install/build command path, first
program, and migration link;
- Learn section with the 0x0 course;
- Build section with package, library, app, and safe gate workflows;
- Reference section with current implementation docs;
- Libraries section with registry overview and package policy;
- Operate section with current runtime and deployment docs only;
- Deferred section that names embedded as future work.
Artifacts:
site/index.html;site/*.html;site/learn-0x0/index.html.
Exit gate:
make public-site-structure-check
Completion rule: the gate must fail if a required top-level site page is
missing.
1.2 Portal Asset Migration
Required work:
- evaluate the old docs portal assets from
jmp0x1b/lang; - copy or rewrite only the minimal static assets needed for readable docs;
- replace all
jmp0x1b/langbranding with 0x0 branding; - add a simple responsive layout for docs navigation;
- add no dynamic dependencies that require server runtime support;
- keep the site static and cache-friendly.
Artifacts:
site/_portal/style.css;site/_portal/portal.jsif needed;docs/public-site-style.html.
Exit gate:
make public-site-assets-check
Completion rule: the site must render without external network dependencies.
1.3 Static Build Contract
Required work:
- define how Markdown source becomes publishable static files;
- decide whether the source Markdown is served directly or transformed to HTML;
- record the output directory, generated file policy, and hash manifest;
- add a single-job site build or staging command;
- ensure generated output is ignored or committed according to a documented
policy;
- make the build command safe for a normal user session.
Artifacts:
docs/public-site-build.html;tools/public-site-build.sh;build/site/manifest.tsvwhen generated.
Exit gate:
make public-site-build-check
Completion rule: site build must produce deterministic output paths and hashes.
1.4 Link And Navigation Gate
Required work:
- check local Markdown links inside
site/; - check links from
site/todocs/,examples/,libs/, andapps/; - fail on old
langlinks unless they are inside migration/obsolescence pages; - fail on links to embedded pages from current feature sections;
- record allowed external links.
Artifacts:
tools/public-site-link-check.sh;site/allowed-external-links.tsv.
Exit gate:
make public-site-link-check
Completion rule: every site link is either resolvable, external-allowed, or a
documented redirect/deprecation target.
Milestone 2: Learn 0x0 Course
Status: complete.
Goal: replace the old learn-jmp0x1b path with a complete, truthful 0x0
learning path.
2.1 Course Scope And Lesson Contract
Required work:
- define the course audience: new users, contributors, app authors, and AI
agents;
- map each old course lesson to a 0x0 lesson, deferred lesson, or removed
lesson;
- define example files each lesson depends on;
- define which lessons are reference-only and which have executable examples;
- ensure no lesson requires embedded or unsupported runtime behavior.
Artifacts:
site/learn-0x0/index.html;site/learn-0x0/lesson-map.tsv.
Exit gate:
make learn-0x0-map-check
Completion rule: every lesson must name the implementation evidence it teaches.
2.2 Core Language Lessons
Required lessons:
01-first-program.html: files, module form, comments, first function, run path;02-syntax-values-and-control.html: forms, values, strings, lists,if,do;03-functions-bindings-and-annotations.html:ƒ, parameters,≔,∷,
doc, call arity, simple type checks;
04-imports-modules-and-packages.html:↥, aliases, exports,pkg:,
manifests, lockfiles;
05-capabilities-and-effects.html:pure,io,file,network,
process, current enforcement, and current runtime limits.
Required behavior:
- each lesson uses 0x0 syntax;
- each lesson names its current limitations;
- each lesson links to reference docs;
- each lesson includes at least one small complete example or points to an
existing executable example.
Exit gate:
make learn-0x0-core-check
Completion rule: the gate must fail if a lesson documents syntax not accepted
by the current compiler.
2.3 Data, Libraries, And Workflow Lessons
Required lessons:
06-core-data-and-results.html: list-backed Option, Result, map, byte-list,
JSON-field, error, safe path, and safe file conventions;
07-cli-files-env-and-text.html: argv, env, stdin/stdout, file helpers, text
helpers, and safe observable behavior;
08-tests-and-standalone-libraries.html: smoke tests, standalone library
contract, package import checks, and expected output;
09-generated-api-docs.html:docannotations, generated API reference, and
API freshness checks;
10-compiler-artifacts.html: OISA, native/C/ELF paths, object/archive/linker
docs, and current production compiler boundaries.
Exit gate:
make learn-0x0-workflow-check
Completion rule: each lesson must reference current repo artifacts, not old
jmp0x1b/lang files.
2.4 Runtime, Apps, And Migration Lessons
Required lessons:
11-runtime-boundaries.html: local effects, fetch/browser, web runtime, service
boundary, production host, and fake adapter distinction;
12-building-apps-with-0x0.html: app workspace, packages, accepted behavior
corpus, source package build path, and app release artifacts;
13-debugging-and-diagnostics.html: parse, semantic, package, runtime, and
release diagnostics;
14-release-and-governance.html: release compatibility, artifact hashes,
resource-safe gates, and contribution discipline;
15-migrating-from-jmp0x1b-lang.html: command mapping, syntax mapping,
package mapping, unsupported features, and site migration.
Exit gate:
make learn-0x0-runtime-migration-check
Completion rule: app lessons must distinguish production app behavior from
test fakes and checker-owned behavior.
Milestone 3: Public Reference Documentation
Status: complete.
Goal: make 0x0 reference material complete enough that users do not need the
old language docs for non-embedded work.
3.1 Grammar And Syntax Reference
Required work:
- create a public grammar or EBNF document for implemented syntax;
- create a syntax quick reference;
- document symbols, ASCII fallbacks if any, comments, strings, escapes, forms,
imports, exports, annotations, capabilities, and supported builtins;
- document unsupported syntax explicitly;
- link each syntax area to examples and diagnostics.
Artifacts:
docs/grammar.ebnfordocs/grammar.html;docs/syntax.html;site/reference.htmlentries.
Exit gate:
make public-syntax-reference-check
Completion rule: syntax reference must be checked against parser-owned forms.
3.2 Language Specification
Required work:
- promote
docs/language.htmlinto a public-facing language spec or create a
separate docs/language-spec.html;
- document module boundary, evaluation model, function model, local bindings,
semantic checks, value representations, runtime truth rules, and backend
differences;
- document what the checker proves and what remains
Any; - keep implementation details concrete enough for contributors.
Artifacts:
docs/language-spec.html;- updated
docs/language.htmlif it remains the concise guide.
Exit gate:
make public-language-spec-check
Completion rule: the spec must not claim a complete type system until the
checker implements one.
3.3 Package And API Reference
Required work:
- make
docs/packages.htmlpublic-facing; - document manifest, lockfile, local path dependency,
pkg:import, exports,
aliases, package validation, and standalone library rules;
- document generated API reference ownership;
- add a public API cross-reference and glossary for core and migrated libs;
- record how stale generated docs are detected safely.
Artifacts:
docs/package-system.htmlor updateddocs/packages.html;docs/api-cross-reference.html;- generated
docs/api.htmlfreshness policy.
Exit gate:
make public-package-api-reference-check
Completion rule: package docs must fail if they reference missing lockfile or
manifest behavior.
3.4 Diagnostics Reference
Required work:
- classify parse, import, semantic, type, capability, package, backend, object,
linker, runtime, and app diagnostics;
- document message shape, source span behavior, exit behavior, and triage steps;
- add task-oriented diagnostic pages for common failures;
- link diagnostics from Learn, Tasks, and Reference.
Artifacts:
- updated
docs/diagnostics.html; site/tasks.htmldiagnostic tasks.
Exit gate:
make public-diagnostics-reference-check
Completion rule: diagnostics pages must reference real diagnostic strings or
stable diagnostic categories.
3.5 Capability And Runtime Boundary Reference
Required work:
- document source-level capabilities separately from host runtime
implementations;
- explain current
networkandprocessstatus without implying builtins that
do not exist;
- document local effects, fetch/browser, web runtime, and service boundary as
implemented runtime surfaces;
- mark fake adapters as test adapters;
- link app runtime docs without promoting app-only behavior to core language
behavior.
Artifacts:
docs/capabilities.html;- updated
docs/runtime-capabilities.html; - updated
docs/runtime-production-capabilities.html; - site reference entries.
Exit gate:
make public-runtime-reference-check
Completion rule: generic runtime docs must not rely on app-only fixtures as
proof of core runtime behavior.
3.6 Release And Compatibility Reference
Required work:
- document the current release artifact boundary;
- document compatibility policy for source syntax, libraries, package names,
object/archive format, linker behavior, and runtime ABI;
- document deprecation and migration policy for
jmp0x1b_*package names; - document resource budgets and safe gates that users can run.
Artifacts:
docs/release-compat.htmlupdates;docs/migration-policy.html;site/release.html.
Exit gate:
make public-release-reference-check
Completion rule: release docs must name artifact hashes or manifests where
release claims depend on artifacts.
Milestone 4: Best Practices, Lint, And Safe Command Guidance
Status: complete.
Goal: make 0x0 style, lint, library, and command discipline explicit and
enforced by resource-safe checks.
4.1 Source Style Guide
Required work:
- standardize public function names on
some-method; - document allowed exceptions for compatibility imports, generated surfaces, and
external protocol names;
- document module names, package names, file names, exported names, local names,
constructor-like tagged values, and test names;
- document comment and
docannotation standards; - document capability annotations for library authors.
Artifacts:
docs/style-guide.html;site/how-to.htmlstyle links.
Exit gate:
make public-style-guide-check
Completion rule: style docs must match the lint rules available in the repo.
4.2 Lint Rule Catalog
Required work:
- document active lint rules separately from planned lint rules;
- add rules for
some-methodnaming across libraries; - add rules for raw tabs, trailing spaces, newline endings, indentation, and
balanced parentheses if those remain active;
- add capability-boundary rules where enforceable;
- add generated-file and compatibility-package exemptions.
Artifacts:
docs/lint.html;docs/lint-rule-catalog.tsv;- updated lint/check scripts as needed.
Exit gate:
make public-lint-reference-check
Completion rule: every active lint rule must have an executable check or be
marked documentation-only.
4.3 Safe Command Guide
Required work:
- replace public instructions that tell users to run unsafe broad gates;
- document safe quick checks, safe docs checks, safe library checks, and safe
site checks;
- document heavy checks as opt-in with memory and timeout expectations;
- document known unsafe commands and their replacement paths;
- update
docs/documentation.htmlso it no longer presentsmake docs-checkas
the default safe path while it can break sessions.
Artifacts:
docs/safe-commands.html;- updated
docs/documentation.html; - site Start and Build page updates.
Exit gate:
make public-safe-command-check
Completion rule: public docs must not instruct default users to run known
session-breaking commands.
4.4 Standalone Library Contract
Required work:
- document what "library can stand alone" means in 0x0;
- require each library to have source, manifest if needed, smoke test,
documented imports, exported API, and expected output;
- document package-local fixtures and test data rules;
- document compatibility package naming and aliasing;
- link the contract from the registry.
Artifacts:
docs/standalone-libraries.html;site/libraries.html;- registry metadata fields.
Exit gate:
make public-standalone-libraries-check
Completion rule: every listed public library must have a smoke test or an
explicit non-public/deferred reason.
4.5 Contribution And Review Discipline
Required work:
- create or adapt AI/contributor guidance for 0x0;
- document how to update docs, examples, API docs, and site pages with language
changes;
- document review expectations for claims about implementation status;
- document commit expectations for milestone work;
- document how to avoid broad unsafe gates during long-running work.
Artifacts:
docs/contributing.html;docs/ai-contributing.html;- site Start and Build links.
Exit gate:
make public-contribution-docs-check
Completion rule: contribution docs must link to safe commands and current
implementation docs.
Milestone 5: Cookbook, Tutorials, And Task Index
Status: complete.
Goal: turn the current examples, libraries, and app surfaces into practical
public workflows.
5.1 Example And Library Recipe Inventory
Required work:
- inventory
examples/*.0x0; - inventory
libs/*/tests/smoke.0x0; - inventory app tests and production app docs that are safe for public use;
- classify recipes by feature area, command, expected output, and resource
cost;
- remove or defer recipes that depend on unsupported behavior.
Artifacts:
site/cookbook-inventory.tsv;docs/public-recipe-map.html.
Exit gate:
make public-cookbook-inventory-check
Completion rule: every recipe must point to a real source file or be marked as
planned/deferred.
5.2 Core Language Cookbook
Required recipes:
- first program and module form;
- functions and local bindings;
- type and doc annotations;
- lists and text processing;
- Option and Result conventions;
- file-safe path helpers;
- CLI argv and env usage;
- stdin/stdout and expected output.
Artifacts:
site/cookbook.html;site/tutorials.htmllinks;- example cross-links.
Exit gate:
make public-core-cookbook-check
Completion rule: each recipe must be either executable or explicitly marked
read-only/reference.
5.3 Package And Library Cookbook
Required recipes:
- create a library;
- add
docannotations; - add a smoke test;
- export functions;
- import with
↥; - import through
pkg:; - regenerate or check API docs safely;
- make a library standalone.
Artifacts:
site/how-to.htmlpackage sections;site/cookbook.htmlpackage recipes;docs/standalone-libraries.htmllinks.
Exit gate:
make public-package-cookbook-check
Completion rule: package recipes must not require access to old
jmp0x1b/libs.
5.4 Runtime Cookbook
Required recipes:
- local file read/write runtime boundary;
- environment and CLI runtime boundary;
- HTTP/fetch runtime boundary where implemented;
- browser snapshot runtime where implemented;
- web route/runtime boundary where implemented;
- service adapter boundary where implemented;
- fake adapter usage for deterministic tests.
Artifacts:
site/cookbook.htmlruntime recipes;- links to runtime docs and tests.
Exit gate:
make public-runtime-cookbook-check
Completion rule: runtime recipes must clearly distinguish production adapters
from fake test adapters.
5.5 App Cookbook
Required recipes:
- Index pure document/extractor/rendering workflow;
- Index CLI runtime workflow;
- Kukulkan package workflow;
- Kukulkan API runtime workflow;
- Kukulkan UI/runtime workflow;
- release artifact and manifest verification workflow;
- accepted behavior corpus workflow.
Artifacts:
site/cookbook.htmlapp recipes;- links to app docs and manifests.
Exit gate:
make public-app-cookbook-check
Completion rule: app recipes must not claim production completeness where
apps/real-rewrite-gap.tsv still marks behavior incomplete.
5.6 Task Index
Required tasks:
- fix parse errors;
- fix import/package errors;
- fix capability violations;
- add a public function;
- add a standalone library;
- add a smoke test;
- regenerate API docs safely;
- build the static site locally;
- stage a website publish;
- migrate a
jmp0x1b/langsnippet to 0x0; - find whether a feature is implemented or deferred.
Artifacts:
site/tasks.html.
Exit gate:
make public-task-index-check
Completion rule: each task must link to a command, reference page, or explicit
manual procedure.
Milestone 6: Library Registry Site
Status: complete.
Goal: make libs.jmp0x1b.com describe the 0x0 libraries and retire the old
jmp0x1b/libs registry.
6.1 Registry Metadata Inventory
Required work:
- inventory every
libs/*package; - record package id, display name, source path, test path, imports, exports,
doc coverage, smoke status, compatibility name, and public/deferred status;
- classify old
jmp0x1b_*names as compatibility ids, rename candidates, or
preserved public package names;
- record libraries that should be hidden because they are embedded-only,
scaffold-only, or obsolete.
Artifacts:
libs/registry.tsv;docs/libs-registry-inventory.html.
Exit gate:
make libs-registry-inventory-check
Completion rule: every directory under libs/ must appear exactly once in the
registry metadata.
6.2 Package Naming And Alias Policy
Required work:
- decide whether migrated
jmp0x1b_*package names remain public compatibility
names or get 0x0-native aliases;
- document no silent renames;
- document deprecation windows, alias metadata, import examples, and registry
display names;
- document how old
jmp0x1b/libsnames map to 0x0 library names; - document what "unregister" means for the old registry:
- remove from active index;
- mark archived;
- redirect to 0x0 replacement;
- preserve tombstone metadata.
Artifacts:
docs/library-naming-and-alias-policy.html;libs/aliases.tsv;libs/deprecations.tsv.
Exit gate:
make libs-registry-naming-check
Completion rule: old names must have an alias, preservation decision, or
deprecation/tombstone entry.
6.3 Registry Static Site
Required work:
- create registry index pages for
libs.jmp0x1b.com; - generate or write one page per public library;
- show imports, exports, docs, test status, compatibility name, and source path;
- show deprecation or alias notices;
- link to 0x0 package docs and API reference;
- avoid promising runtime behavior that only exists in fakes or scaffolds.
Artifacts:
site/libs/index.htmlorregistry/site/index.html;- generated registry pages;
site/libs/manifest.tsv.
Exit gate:
make libs-registry-site-check
Completion rule: every public registry page must be backed by local 0x0 source
and registry metadata.
6.4 Registry Smoke Evidence
Required work:
- attach smoke test evidence to each public library;
- document skipped/deferred libraries separately;
- add safe per-library or capped registry smoke checks;
- avoid running all compilers in parallel;
- record command, expected output, timeout, and resource mode.
Artifacts:
libs/smoke-evidence.tsv;docs/libs-registry-smoke-evidence.html.
Exit gate:
make libs-registry-smoke-evidence-check
Completion rule: public libraries without evidence must fail the gate unless
they are explicitly marked deferred.
6.5 Old Registry Unregistration Plan
Required work:
- identify the current
jmp0x1b/libsregistry data on the server; - define active index removal and tombstone behavior;
- define redirects from old package pages to 0x0 package pages;
- define rollback if package consumers still need the old feed;
- create a publish plan that updates metadata without deleting evidence needed
for audit.
Artifacts:
docs/jmp0x1b-libs-unregistration-plan.html;deploy/static-sites/libs-registry-publish-plan.html;deploy/static-sites/libs-registry-rollback.html.
Exit gate:
make libs-registry-unregistration-plan-check
Completion rule: unregistration may not proceed without rollback and tombstone
metadata.
Milestone 7: Top-Level Migration And Obsolescence Docs
Status: complete.
Goal: make the replacement relationship between jmp0x1b/lang, 0x0, and the
public domains clear.
7.1 Obsolescence Statement
Required work:
- write a direct statement that
jmp0x1b/langis obsolete for new language
work;
- identify 0x0 as the successor;
- explain what remains archived;
- explain embedded/bare-metal status as deferred, not removed by accident;
- explain where existing users should go first.
Artifacts:
docs/jmp0x1b-lang-obsolescence.html;site/migration.html;- planned
lang.jmp0x1b.comarchive page.
Exit gate:
make public-obsolescence-docs-check
Completion rule: obsolescence docs must not delete historical context needed
for migration.
7.2 Command Mapping
Required work:
- map old commands to current 0x0 commands;
- identify removed commands;
- identify commands that have no 0x0 equivalent yet;
- document safe commands separately from heavy commands;
- document examples for build, run, check, package, docs, site, and release
workflows.
Artifacts:
docs/jmp0x1b-to-0x0-command-map.html;site/migration.htmlcommand table.
Exit gate:
make public-command-map-check
Completion rule: every command table entry must be marked current, renamed,
deferred, or removed.
7.3 Syntax And Package Migration
Required work:
- document syntax differences between
*.jmp0x1band*.0x0; - document imports, aliases, exports, annotations, capabilities, comments, and
library data representation changes;
- document package manifest and lockfile differences;
- document how to migrate library examples;
- document unsupported features and current workarounds.
Artifacts:
docs/jmp0x1b-to-0x0-syntax-migration.html;docs/jmp0x1b-to-0x0-package-migration.html.
Exit gate:
make public-syntax-migration-check
Completion rule: migration examples must be valid 0x0 or explicitly marked
pseudocode.
7.4 Feature Support Matrix
Required work:
- create a matrix for language syntax, type checking, capabilities, packages,
compiler outputs, libraries, runtime boundaries, apps, web/runtime, release,
and embedded;
- classify each feature as:
- implemented;
- implemented for app/runtime boundary only;
- test adapter only;
- partial;
- deferred;
- obsolete;
- link each implemented row to source/test/docs evidence.
Artifacts:
docs/feature-support-matrix.html;site/reference.htmlsupport matrix link.
Exit gate:
make public-feature-matrix-check
Completion rule: implemented rows must have evidence links.
7.5 Domain Update Plan
Required work:
- define target behavior for
0x0.jmp0x1b.com; - define archive or redirect behavior for
lang.jmp0x1b.com; - define registry behavior for
libs.jmp0x1b.com; - define top-level messaging changes for
jmp0x1b.com; - define canonical URLs, redirects, sitemap updates, and rollback.
Artifacts:
docs/public-domain-migration-plan.html;deploy/static-sites/domain-map.tsv;deploy/static-sites/redirects.tsv.
Exit gate:
make public-domain-migration-plan-check
Completion rule: every public domain must have current, target, publish, verify,
and rollback entries.
Milestone 8: Static Site Deployment And Remote Cutover
Status: complete.
Goal: publish the new public docs and migration pages safely.
8.1 Local Release Bundle
Required work:
- build local static output for 0x0 docs site;
- build local static output for libs registry site;
- build local static output or patch bundle for
jmp0x1b.com; - build archive/redirect bundle for
lang.jmp0x1b.com; - generate checksums and manifests;
- store rollback bundle references.
Artifacts:
build/static-sites/0x0/;build/static-sites/libs/;build/static-sites/jmp0x1b/;build/static-sites/lang-archive/;build/static-sites/SHA256SUMS;build/static-sites/manifest.tsv.
Exit gate:
make static-site-release-bundle-check
Completion rule: every file in the release bundle must have a checksum and
target domain.
8.2 Remote Dry Run
Required work:
- compare local bundle with remote document roots;
- run dry-run copy or checksum comparison;
- verify target directories and permissions;
- verify rollback write location;
- record expected changes before publishing.
Artifacts:
deploy/static-sites/dry-run-report.html;- redacted command transcript or summary.
Exit gate:
make static-site-deploy-plan-check
Completion rule: dry run must show all remote changes before any publish step.
8.3 Publish 0x0 Docs Site
Required work:
- publish
0x0.jmp0x1b.comstatic files; - verify homepage, learn, tutorials, cookbook, reference, tasks, migration, and
release pages;
- verify cache headers or static serving behavior as available;
- verify rollback.
Artifacts:
deploy/static-sites/0x0-publish-report.html;deploy/static-sites/0x0-rollback-report.html.
Exit gate:
make static-site-0x0-smoke-check
Completion rule: smoke checks must fetch public pages and compare expected
content markers.
8.4 Publish Library Registry Site
Required work:
- publish 0x0 registry pages to
libs.jmp0x1b.com; - remove old active
jmp0x1b/libsregistry entries from the active index; - publish tombstone or redirect pages for old entries;
- verify public library pages and aliases;
- verify rollback.
Artifacts:
deploy/static-sites/libs-publish-report.html;deploy/static-sites/libs-rollback-report.html.
Exit gate:
make static-site-libs-smoke-check
Completion rule: public registry smoke must prove that old active entries no
longer appear as current packages.
8.5 Publish Lang Archive And Top-Level Update
Required work:
- update
lang.jmp0x1b.comwith archive/obsolete messaging and 0x0 links; - update
jmp0x1b.comso 0x0 exists as the current language path; - preserve historical links where practical;
- verify top-level navigation;
- verify rollback.
Artifacts:
deploy/static-sites/lang-archive-publish-report.html;deploy/static-sites/jmp0x1b-publish-report.html.
Exit gate:
make static-site-top-level-smoke-check
Completion rule: public smoke must verify that users can navigate from
jmp0x1b.com and lang.jmp0x1b.com to 0x0.
Milestone 9: Public UX, Search, And Metadata
Status: complete.
Goal: make the published static sites usable as public documentation, not just
raw Markdown.
9.1 Metadata And Discoverability
Required work:
- add page titles and descriptions;
- add canonical URLs;
- add sitemap entries;
- add robots policy if needed;
- add 404 page;
- add release/version markers;
- add source/edit links when appropriate.
Artifacts:
site/sitemap.xmlor generated equivalent;site/404.htmlor generated equivalent;site/metadata.tsv.
Exit gate:
make public-site-metadata-check
Completion rule: every public page must have title and canonical route
metadata.
9.2 Redirect And Link Preservation
Required work:
- preserve important old
langpublic routes; - redirect or archive old routes with clear messaging;
- avoid redirect loops;
- document intentionally broken historical routes;
- verify links between 0x0 docs, libs registry, and top-level site.
Artifacts:
site/redirects.tsv;deploy/static-sites/redirect-check-report.html.
Exit gate:
make public-redirect-check
Completion rule: every redirect must terminate in one hop or an explicitly
accepted chain.
9.3 Public Search Index
Required work:
- decide whether static search is needed;
- if added, generate a small static search index from page titles, headings, and
descriptions;
- exclude embedded/deferred content from implemented-feature search facets;
- keep generated index deterministic and small.
Artifacts:
site/search-index.jsonor documented decision not to ship search;docs/public-search.html.
Exit gate:
make public-search-index-check
Completion rule: search index generation must be bounded and not crawl the
whole repository unexpectedly.
Milestone 10: Acceptance, Maintenance, And Release Discipline
Status: complete.
Goal: keep public docs, static sites, and registry content current after the
initial migration.
10.1 Public Documentation Acceptance Matrix
Required work:
- create a matrix of all public docs promises;
- link each promise to source, tests, examples, or an explicit limitation;
- include site pages, reference pages, cookbook recipes, library pages,
migration pages, and domain behavior;
- add owner and freshness policy for each area.
Artifacts:
docs/public-docs-acceptance-matrix.tsv;docs/public-docs-acceptance.html.
Exit gate:
make public-docs-acceptance-check
Completion rule: public claims without evidence must fail unless marked as
limitation or deferred.
10.2 Release Checklist Integration
Required work:
- add public docs checks to the release process;
- define which docs/site/registry gates are release-blocking;
- define which remote publish checks are manual release steps;
- include docs and website hashes in release artifacts where applicable;
- document rollback expectations for site releases.
Artifacts:
- updated
docs/release.html; - updated
docs/release-compat.html; docs/public-site-release-checklist.html.
Exit gate:
make public-docs-release-check
Completion rule: a release that changes public behavior must update docs or
explicitly record why docs are unchanged.
10.3 Drift Detection
Required work:
- detect stale generated API docs;
- detect libraries missing registry metadata;
- detect examples not represented in cookbook inventory;
- detect docs that link to removed files;
- detect old
jmp0x1b/langclaims copied into current 0x0 feature docs; - detect unsafe command references in public docs.
Artifacts:
tools/public-docs-drift-check.sh;docs/public-docs-drift-policy.html.
Exit gate:
make public-docs-drift-check
Completion rule: drift checks must be bounded and safe for normal sessions.
10.4 Completion Evidence
Required work:
- record final local build hashes;
- record deployed domain smoke results;
- record registry migration result;
- record old registry unregistration result;
- record top-level site update result;
- record remaining deferred embedded items;
- mark this roadmap complete only when all milestones are done.
Artifacts:
docs/public-docs-website-completion-evidence.html;deploy/static-sites/completion-report.html.
Exit gate:
make public-docs-website-completion-check
Completion rule: completion evidence must prove the user can start at
jmp0x1b.com, reach current 0x0 docs, learn 0x0, browse 0x0 libraries, and see
that old jmp0x1b/lang and jmp0x1b/libs are obsolete or archived.
Recommended Implementation Order
1. Complete Milestone 0 so the work is classified and safe.
2. Create the site/ skeleton and local link gate in Milestone 1.
3. Write the Learn path in Milestone 2.
4. Fill reference docs in Milestone 3.
5. Add best-practice, lint, standalone library, and safe command docs in
Milestone 4.
6. Build cookbook/tutorial/task content in Milestone 5.
7. Build library registry metadata and site pages in Milestone 6.
8. Write migration and obsolescence docs in Milestone 7.
9. Publish with dry-run, manifest, smoke, and rollback discipline in
Milestone 8.
10. Add metadata/search and maintenance checks in Milestones 9 and 10.
Blockers To Resolve Before Deployment
- decide whether
jmp0x1b_*library names stay public compatibility package
ids or receive 0x0-native aliases;
- define the resource-safe replacement for
make docs-check; - inspect remote static site roots in read-only mode;
- decide whether Markdown is served directly or transformed to HTML;
- decide the rollback layout for each public domain;
- decide how much old
lang.jmp0x1b.comURL compatibility is required.
Completion Signal
This roadmap is complete when:
- 0x0 has a public static docs site;
- the non-embedded public docs depth of
jmp0x1b/langhas a truthful 0x0
equivalent;
- the Learn, Reference, Cookbook, Tasks, Libraries, Release, and Migration
pages are published;
libs.jmp0x1b.comshows 0x0 libraries and no longer presents old
jmp0x1b/libs as current;
lang.jmp0x1b.comclearly points to 0x0 as the successor;jmp0x1b.comadvertises 0x0 as the current language path;- every default verification path is safe for the user session;
- remaining embedded work is explicitly deferred, not accidentally documented
as implemented.