Rebuilt from original PR #1276. All Phase 30 launch content restored: - 5 blog posts (Remote Workspaces, Chrome DevTools MCP, Container vs Remote, Secure by Design) - 4 guides (Remote Workspaces, FAQ, same-origin canvas, quickstart audio) - Community copy: Discord/Slack announcements, HN launch guide - Social copy: Phase 30 (4 X versions + LinkedIn), Chrome DevTools MCP - Sales: landing copy, battlecards, one-pager, objection handlers - Press release draft - Demos: AGENTS.md auto-gen, Cloudflare Artifacts - Audio: TTS announce, VO scripts, demo narrations - Fleet diagram, asset inventory, video production package - Roadmap brief, email drip sequence, post-push checklist Closes GH#1126
6.2 KiB
Phase 30 + Roadmap Context Brief — DevRel
Sourced from:
Molecule-AI/internal—PLAN.md(via GitHub API, read-only token) Purpose: Keep DevRel aligned with roadmap so content and demos anticipate what's coming
Phase 30: Remote Workspaces — What's Shipped
Phase 30 shipped 8 sub-features (30.1–30.8), all GA as of 2026-04-20:
| Sub-feature | What it does |
|---|---|
| 30.1 Workspace auth tokens | 256-bit bearer tokens, minted at registration. Prevents spoofing. |
| 30.2 Secrets pull endpoint | GET /workspaces/:id/secrets/values — gated by auth token |
| 30.3 Plugin tarball download | GET /plugins/:name/download — remote agent plugin install |
| 30.4 Workspace state polling | GET /workspaces/:id/state — fallback for agents behind NAT |
| 30.5 A2A proxy token validation | Mutual auth on POST /workspaces/:id/a2a |
| 30.6 Sibling discovery + URL caching | GET /registry/{parent_id}/peers, cache sibling URLs |
| 30.7 Poll-liveness for external runtime | 90s offline threshold, behind REMOTE_LIVENESS_POLLING_ENABLED |
| 30.8 Remote-agent SDK + docs | sdk/python/examples/remote-agent/, Python thin client |
Out of scope for Phase 30:
- Mutual TLS from agent → platform (deferred)
- Agent-to-agent mesh across NATs (needs relay — deferred to Phase 31)
- Platform-managed persistent state for remote agents
Phase 31 — Quality + Infra Pass — SHIPPED 2026-04-13
Completed in PRs #1–#8:
- Brand migration (Molecule → Molecule AI)
- Repo structural cleanup
- MCP per-domain split (1697 → 89 lines, 87 tools)
- Canvas dialog unification
- Platform handler decomposition (+47 Go tests, coverage 56.1% → 57.6%)
- Env-var documentation (all 21 vars now documented)
- E2E hardening + CI (
test_api.sh62/62,test_comprehensive_e2e.sh67/67)
Phase 32 — Cloud SaaS Launch (2026-Q2/Q3) — IN PROGRESS
Goal: Ship Molecule AI as a multi-tenant cloud SaaS (not just self-hosted per-customer).
Live infrastructure (as of 2026-04-15):
- Control plane:
https://molecule-cp.fly.dev - Tenant app:
molecule-tenant(Fly) - Database: Neon serverless Postgres (branch-per-org)
- Cache: Upstash Redis
- Auth: WorkOS AuthKit (
/cp/auth/{signup,login,callback,signout,me}) - Billing: Stripe scaffold deployed (no live keys yet — pending Stripe Atlas)
- Registry:
registry.fly.io/molecule-tenant:latest - Domain:
moleculesai.app(Cloudflare routing, DNS pending) - First real tenant provisioned: org
acme
Phase status:
- A — Foundation (accounts, tokens, domain) ✅
- B — Fly provisioner + Neon branching ✅
- C — WorkOS AuthKit scaffold ✅
- D — Stripe billing scaffold ✅ (live keys pending Stripe Atlas)
- E — Cloudflare + DNS + per-tenant Vercel canvas ✅
- F — Sign-up UX + onboarding ✅ (basic flow done; polish + email pending)
- G — Observability + quotas + admin ✅
- H — Hardening ⏳ partial (KMS envelope encryption ✅, tenant-isolation CI ✅, legal pages ✅; load test + Stripe Atlas + status page custom domain pending)
- I — Launch ⏳ pending Stripe Atlas (~2 week lead)
Architectural decisions relevant to DevRel messaging:
- Open-core split:
Molecule-AI/molecule-controlplane(private) handles orgs/signup/billing/provisioner/routing. This public repo stays OSS (tenant binary + plugins + channels). - Firecracker > Docker socket: Fly Machines API replaces raw Docker socket for multi-tenant isolation. Docker path stays for local dev only.
- Companion repo:
molecule-controlplane/PLAN.mdhas the private roadmap.
Tier 1 blockers before first external user:
- Multi-tenancy:
org_idfilter on every row-returning handler - Human auth + orgs via WorkOS (separate from Phase 30.1 agent bearer tokens)
- Container isolation via Fly Machines (Firecracker microVMs)
- Stripe billing (subscriptions + usage metering)
- Per-org resource quotas
- Managed Postgres (Neon) + Redis (Upstash)
- Secrets at rest via AWS/GCP KMS
- Migration runner extraction (goose as release step)
Upcoming: Phase 33+
What to watch for: The backlog (PLAN.md) lists:
- Canvas: Org template import, Workspace search (Cmd+K), Batch operations
- Sandbox: Firecracker/E2B backends
- SDK follow-ups: live tool-call visibility, cost telemetry, cancel UX
- Real webhook mode for channels (webhook vs. polling)
- More channel adapters: Slack (OAuth), Discord (Bot + Gateway), WhatsApp
Known Issues (from known-issues.md)
Three issues tracked internally, not yet filed as GitHub issues:
KI-001 — Telegram kicked event doesn't persist disabled state
- File:
telegram.go:596 - Severity: Medium
- When the bot is removed from a chat, it keeps retrying sends indefinitely
- Fix: set
enabled = falseonworkspace_channelsrow
KI-002 — Delegation system has no idempotency guard
- File:
delegation.go - Severity: Medium
- Container restart mid-delegation → double execution risk
- Fix: add optional
idempotency_keytoPOST /workspaces/:id/delegate
KI-003 — commit_memory not surfaced in activity_logs
- File:
memory.py+activity.go - Severity: Low (debugging quality)
- Memory writes invisible in Canvas "Agent Comms" tab
- Fix: emit
activity_logentry of typetool_callforcommit_memory
Backlog Highlights for DevRel
The backlog has direct marketing angles:
- Canvas: Org template import — no-code org deployment from Canvas UI (Phase 20.3)
- SDK follow-ups — cost telemetry + live tool-call visibility → enterprise governance story
- Delegations list endpoint —
GET /workspaces/:id/delegationsreturns[]whilecheck_delegation_statusshows active. One source of truth needed. - Per-agent repo access —
workspace_access: none|read_only|read_writeinorg.yaml— eliminates the "PM couriers documents to reports" workaround - SDK executor stderr swallowing — every CLI failure is opaque; fix captures stderr, includes first ~1 KB in A2A error response. High priority per PLAN.md.
Ecosystem Watch
docs/ecosystem-watch.md is the canonical starting point for research agents doing competitive analysis. Notable projects to track: Holaboss, Hermes, gstack, Letta, Trigger.dev.
Update this doc after token refresh — check PLAN.md for Phase 32 content.