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_artifacts→seo.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