This page summarizes ROADMAP.md in the repository, which is the up-to-date source of truth. Check there first if this page and the code ever disagree.

Shipped

  • BUILD_ORDER M1–M11: 212/212 items — the full platform, code-complete
  • Every pre-production audit finding fixable without live infrastructure or third-party credentials — see the Changelog
  • Production-validation Wave 0 (code hardening): complete

In progress: production validation

MAEL is proving itself end to end on real client domains before any self-serve commercial launch — deliberately, at the direction of the team running it. SaaS features (billing, subscriptions, self-service tenant UI, marketplace) are explicitly out of scope until that validation completes.
1

Wave 1 — Staging burn-in

Execute the complete staging checklist against a real cluster: first live CI run, restore drill, load and zero-downtime tests, first live verification of the evaluator framework and circuit breaker.Blocked on: a provisioned Kubernetes cluster (or VPS, per Deployment) — infrastructure that doesn’t exist yet, not a code gap.
2

Wave 2 — Integrations live

Google OAuth app production verification, then GSC, GA4, WordPress (against a throwaway site first), Ahrefs, and Slack approvals — all already implemented, waiting on credentials.Blocked on: client/vendor credentials (a billing/ownership decision, not an engineering one).
3

Wave 3 — Client onboarding

Onboard the first pilot tenants via onboard_client.py: domain, technical audit, keyword/cluster workshop with the practitioner.
4

Wave 4 — Content pilot

3 articles per domain through the full pipeline, 100% passing medical fact-check and human approval, 0 unapproved publishes, 0 cross-tenant incidents.
5

Wave 5 — Measure & decide

Review success metrics against the pilot exit criteria; go/no-go on widening the pilot. Only after this does SaaS work begin.

Explicitly deferred (by decision, not oversight)

  • Billing/monetization, plugin execution model, SSO/MFA/SCIM, tenant self-service export — all Phase 2, after production validation
  • Postgres PITR/continuous WAL archiving — needs a cloud-provider decision this repository can’t make for itself
  • A generic keyword/cluster memory-table migration (memory.workflow_artifactsseo.keyword_decisions/topic_clusters) — real but low-risk-tolerance work, deliberately not rushed into a broader sweep without a production-scale database to validate a backfill against

Changelog

Deployment