Roadmap and changelog
The roadmap is generated, not maintained. Every unit of work in the repository is
a brief under docs/tasks/ with frontmatter that is the single source of truth for
its status, and npm run roadmap renders docs/roadmap.html from it, changelog
included, built from the briefs’ completed dates. There is no second list to keep
in step, and this site does not keep one either.
The roadmap page in the repository is the current state. The task briefs are the detail.
What has landed
Section titled “What has landed”Everything in these docs. In rough order: the rebuild in five phases (storefront, database and API, Stripe Checkout and orders, accessibility, the admin and setup wizard), then the numbered briefs: refunds and restocking, discount codes, order CSV, SEO metadata, search, staff accounts, pages, tax, multi-axis variants, customer accounts, abandoned-cart recovery, digital products (the model), outbound webhooks, catalogue CSV, the first-run fixes, landing and collection copy, web fonts and locale, SKUs and compare-at prices and per-variant images, admin password reset, object storage for images, the building-on-Beluga map, and storefront preview mode.
Known gaps
Section titled “Known gaps”Understood but undecided work lives in docs/gaps/, deliberately outside the
numbering so listing it does not claim a plan that does not exist.
- Digital delivery. Entitlements, a non-served file location, a download route,
a
deliveredstatus. Digital products.
Deliberately not planned
Section titled “Deliberately not planned”- Live carrier rates, labels, tracking. Shipping has the trade.
- Role-based permissions in the admin. The column exists; the gating is a separate decision with its own security matrix.
- Cart-condition discounts. Stripe’s promotion codes cover the common case.
- Subscriptions.