Skip to content

Roadmap

The single source of truth for what's planned for UW Markdown. Work in the README "Planned" list and the protocol spec's §XIII "Future work" both feed back to this document.

This roadmap is directional, not contractual. Items move, get cut, or get reordered as we learn from adopters.

Status legend

  • Shipped — landed and documented
  • 🚧 In progress — actively being worked on
  • 📋 Next — committed for the upcoming release
  • 💭 Considered — would be valuable; not yet committed
  • Frozen — explicitly deferred to a later major version

v1 release readiness

Status update (2026-07-25): The repository is already public. The historical pre-public-flip checklist below is superseded; the remaining launch work is the npm organization registration, NPM_TOKEN, and the first v1.0.0 package publication.

Everything required to call the v1 release credible is shipped: README claims are backed by conformance fixtures and normative schemas. The repository is now public and renamed to uw-markdown; the remaining v1 work is npm account setup and the first package publication.

StatusItemTracking
Tier-2 Editor — applyEdit() dispatcher + BUILTIN_EDIT_POLICIES enforcementcommit e947e2d
Tier-3 Calc Host — safe-expression parser + evaluator + built-ins (sum, pmt, npv, irr, …)commit 137a858
Validator wired to BUILTIN_REMEDIATIONS registry (no inline strings)commit 137a858
Conformance corpus filled (Tiers 1-4 fixtures) + runner gating tiers 1-3 in CIcommit 0536c67
JSON Schemas for the 6 boundary-crossing types + spec ordering / cross-ref fixescommit ae8ab6d
Governance / OSS scaffolding (SECURITY/GOVERNANCE/MAINTAINERS/CODEOWNERS, RFC template)commit b8c97b8
npm publish workflow on v* tag with provenancecommit b8c97b8

v1 follow-on tools

Tool surface to grow before the public flip. None of these are blocked on going public — they ship into the private repo and wait. Order reflects effort vs. devex value.

StatusItemNotes
VS Code extension (preview 0.1.0)tools/vscode-uwmd/ — syntax highlight + section folding + document outline + on-save validation via @uwmd/core.
Documentation site (preview 0.1.0)tools/docs-site/ — VitePress build of spec / protocol / schemas / conformance / project docs. Interactive playground deferred to 0.2.
Standalone CLI installer (preview 1.0.0)packages/uwmd-cli/ — publishes as uwmd on npm. npx uwmd init / validate / parse / render / edit / calc / run for non-developers who don't want to clone. Thin wrapper over @uwmd/core (depends on it via the new ./cli subpath export). No calc-drift risk.
Calc-aware web editor (preview 0.1.0)tools/web-editor/ — Vite + plain TS bundle on @uwmd/core/browser. Embeds the Tier-2 dispatcher and Tier-3 calc engine in the browser. Frontmatter editing + numeric section editing on five calc-bearing sections (property, valuation, noi_model, debt_structure, sources_uses) dispatch through applyEdit(); multifamily calc starter pack (cap rate, LTV, DSCR, debt yield, $/unit, $/sqft, price/unit, cash-on-cash) re-evaluates every render so derived values can never drift from inputs. Validation footer surfaces every ValidationMessage with BUILTIN_REMEDIATIONS copy. Replaces the originally-planned narrative-only Tier-2 web editor — that design was rejected because separating "safe" narrative edits from "unsafe" numeric edits creates two paths into the same file and a wrong incentive to use the easier one.
Excel converter (preview 0.1.0)packages/uwmd-excel/.uw.md.xlsx for multifamily. Two-sheet workbook (Underwriting + Operating Statement) with named-range inputs and derived-metric formulas mirroring MULTIFAMILY_STARTER_PACK, plus a flat Pipeline Log audit sheet. NOI is itself a formula on the Operating Statement sheet, so editing any line item ripples through to every metric. Reverse direction (.xlsx.uw.md) deferred — calc-aware web editor remains the Tier-2 chokepoint for now.
💭docs/CONFORMING_TOOLS.mdOnce adopters arrive — keeps the README from becoming a giant list.

v1.1+ machine interchange

Accepted RFC 0014 defines the post-v1.0 machine-interchange train. It keeps the .uw.md format at 1.1, targets additive representation discovery for protocol 1.2, and stages @uwmd/core / uwmd 1.1 releases for the document envelope and codecs.

StatusItemNotes
RFC 0014 architectureAccepted by the project owner on 2026-07-26 under owner-led governance.
Envelope + UW JSONEnvelope 1.0 schema, JSON 1.0 codec, semantic digest, registry, CLI export, and tests implemented.
Registry + discoveryProtocol 1.2 descriptors, manifest schema, negotiation, uwmd formats, and optional HTTP/MCP companion profiles implemented.
UW XMLDeterministic XML 1.0 mapping, XSD, secure codec, digest checks, and uwmd convert implemented.
UW CSV bundleNormalized directory/ZIP codec, deterministic packaging, bounded safe extraction, semantic digests, and all six views implemented.
HTTP + MCP bindingsStable uwmd.org deal identities, OpenAPI 3.1, semantic ETags, content negotiation, text/blob resources, resource links, five MCP tool result profiles, and reference adapters implemented.

Detailed sequencing and release gates: docs/releases/1.1-plus-interchange-plan.md.

v2 spec exploration

Each item below has an opening RFC under docs/rfcs/. None are required for v1 conformance — they constitute v2 of the protocol, the format, or both. RFCs are draft until the project owner accepts. The 14-day comment window applies after collaborative governance activates; see GOVERNANCE.md.

Mirrored in spec/UW_PROTOCOL_v1.md §XIII so spec readers see them in context. This list is the maintainable copy.

RFCItemWhy it matters
0001Locale negotiationv1 freezes formatting to en-US. International adopters need other locales.
0002Module signingSigstore-style signature on module manifests, verified by host policy.
0003Custom asset-class declarations from modulesAssetClass enum is hard-coded in types.ts; modules can't extend it without a spec bump.
0004Conformance test runner v2 (language-agnostic)scripts/run-conformance.mjs is TS-only — non-TS implementers can't self-certify against the same runner.
0005Stochastic calculationsdeterministic: false calc declarations (Monte Carlo, sensitivity sweeps), determinism preserved via seeded PRNG.
0006Hospitality reference moduleFirst real consumer of the module system. ADR/RevPAR/occupancy + STR-comp validations.

Pre-public-flip checklist

Superseded: the public flip is complete. Retained for launch-history context; unchecked rows remain prerequisites for the first npm release.

The last thing that happens before the repo flips from private to public. Held until the tool surface (above) is broad enough to be worth shipping. Nothing else in the project is blocked on this — every preceding section can land in private.

StatusItemNotes
Repo rename to uw-markdownCompleted 2026-07-25; repository, package metadata, documentation links, and local remote updated.
📋Register @uwmd org on npmRequired before the release workflow can publish @uwmd/core. The uwmd package is unscoped and only needs the publisher to be the org owner.
📋Add NPM_TOKEN repo secretGates the publish step in .github/workflows/release.yml.
📋Tag and ship v1.0.0First production publish of @uwmd/core and uwmd. Cuts the CHANGELOG [Unreleased] section.
Flip repo private → publicCompleted before the 2026-07-25 release-readiness review.

Permanently out of scope (v1)

Listed so we don't keep re-litigating these:

  • ❄ Network protocols. The .uw.md file is the protocol surface; how it's transported is out of scope (protocol §I.2).
  • ❄ Persistence / storage. How implementations cache, version, or back up the file is out of scope.
  • ❄ UI design beyond display conventions. Implementations may render any way they wish provided values format identically.
  • ❄ License change. MIT is a permanent commitment for v1 (governance §License changes).

How to propose a roadmap change

  • Editorial reorder / status update: open a PR directly.
  • New roadmap item: open an issue with the Feature template describing the user need; if accepted, it gets added here with the appropriate status.
  • New v2 RFC: copy docs/rfcs/0000-template.md and submit per GOVERNANCE.md rules.

Released under the MIT License.