Roadmap
Pegma ships component by component, each through its own phased plan, each gated by real consumers rather than dates. This page is the aggregate view.
Status lines below are compiled at build time (2026-07-27) from each repository's public
docs/PROJECT_PLAN.md — 6 of 8 components carry a
plan; the rest (and any fetch miss) fall back to a hand-written snapshot dated
2026-07-27. The repos win any disagreement.
Where things stand
| Component | Status | Now |
|---|---|---|
| Spine | published | 0.1.0 on npm; deliberately close to frozen. |
| Storage Core | published | 0.3.0 on npm with the Azure Tables adapter; in production behind the reference application. |
| Audit | published | Phase 1 complete; awaiting the first real consumer |
| Authorization Core | in development | Phase 4 signed access grants complete |
| Support Desk | in development | Foundation (0.x, public API unstable) |
| Webhooks | planned | planning; nothing extracted yet |
| Sessions | planned | planning; nothing extracted yet |
| Rate Limit | planned | planning, deliberately dormant until its first consumer |
What gates what
The dependencies that actually pace the work — none of them are dates:
- Authorization Core → its consumers. The reference application's migration
onto Authorization Core begins when its first public
0.xpackages exist (its phase 5). Until then its packages build and test but do not publish. - Extraction before adoption. Webhooks and Sessions are extractions of code already in production behind the reference application; the packages can be built at any time, but the application swaps onto them only after its current storage migration finishes its production soak — a deliberate rule: never change the code under observation.
- Consumers pull components into existence. Rate Limit stays dormant until the Support Desk's public endpoints need it. Transactional mail is built inside the Support Desk first and extracted into a shared component only if a second consumer appears — the same rule that produced Audit.
- This site is a gate of its own. pegma.dev deploys on Cloudflare and will eventually run a real Pegma consumer there, over a Cloudflare storage adapter that must pass the same conformance suite as the Azure adapter. Two clouds, one suite — that is the portability claim, tested.
What 1.0 means
Nothing reaches 1.0 on ambition. The ecosystem rule is that breaking changes stay
permitted until multiple real consumers complete adoption — a component earns stability by
being used, not by being finished. Until then, every package is honestly 0.x.