AlphaSwarm IDE roadmap
This doc maps the external quant-IDE blueprint (compressed: "Bloomberg-grade research IDE you can own", 12–18 month Phase 1/2/3 plan) to AlphaSwarm's existing architecture and the 55 hard rules.
Why we deviate from the blueprint
The blueprint targets greenfield buyers of a quant PaaS. AlphaSwarm already has:
- Five hash-locked spec runtimes (
AgentSpec/BotSpec/RLExperimentSpec/AnalysisSpec/WorkflowSpec) — rules 12-13, 14-15, 16-17, 23-25, 40-41. - Nine backtest engines (vbt-pro, event-driven, OSS vectorbt, backtesting.py, LEAN, ZVT, AAT, hftbacktest, NautilusTrader bridge).
- DataMCP + CodebaseMCP — rule 22, exposed over RFC 9728 / RFC 8707 conformant streamable HTTP per rule 49.
- AlphaVantage / IBKR / Alpaca brokers — paper trading exists.
- Iceberg lakehouse with medallion-tier business metadata — rule 21.
- A Vite 7 + React 19 operator UI (
alphaswarm_client/) that already covers the operator dashboard scope.
The IDE's role in AlphaSwarm is the developer / research environment —
notebook + MCP copilot + spec authoring + repo navigation. It does NOT
re-implement what alphaswarm_client/ already does well.
Phasing
Phase A — Shipped in this enhancement
| Workstream | Blueprint section | AlphaSwarm-aligned implementation |
|---|---|---|
| Six compile-time Theia extensions | §2.2 + §2.5 + §2.6 + §2.8 | alphaswarm-ext, alphaswarm-shell-ext, alphaswarm-mcp-bridge-ext, alphaswarm-research-copilot-ext, alphaswarm-notebook-quant-ext, alphaswarm-quant-ext |
| FINOS Perspective notebook renderer | §2.6 + §4.5 | alphaswarm-notebook-quant-ext's PerspectiveArrowRenderer (lazy-loads @finos/perspective) |
| MCP-driven research copilot | §2.7 + §5.4 | alphaswarm-research-copilot-ext's AqpResearchAgent (routes through router_complete, rule 2) |
| White-label shell + filters | §2.8 | alphaswarm-shell-ext's FilterContribution + window title + about dialog |
| Quant widgets (operator complement) | §5.1 | alphaswarm-quant-ext's SpecAuthor + RunInspector + BacktestRunner |
alphaswarm-cli ide entrypoint | (CLI orchestration) | install / build / start / stop / status / logs / open / url / env / detect / doctor |
| Single-pod K8s manifests | §7 (Layer 2) | alphaswarm_platform/deployments/kubernetes/alphaswarm-ide/ |
| Theia Cloud Phase B scaffolding | §3 | alphaswarm_platform/deployments/kubernetes/alphaswarm-ide/theia-cloud/ with DEFERRED.md |
| Per-extension AGENTS + READMEs + skills + rules | (governance) | 6 README + 6 AGENTS + 2 skills + 1 rule + 2 subagents |
| Workspace retirement checklist | (governance) | alphaswarm_ide/docs/retire-vendored-workspace.md |
Phase B — Trigger: ≥2 internal users need isolated workspaces
| Workstream | Blueprint section | AlphaSwarm-aligned implementation |
|---|---|---|
| Theia Cloud multi-tenant operator | §3 | Install upstream theia-cloud Helm + apply the AppDefinition scaffolded under alphaswarm-ide/theia-cloud/ |
| Per-tenant PVC + workspace | §3.5 | One PVC per Workspace.theia.cloud/v1beta5 |
| Activity-tracker idle shutdown | §3.3 | monitor.activityTracker.timeoutAfter on AppDefinition |
| Private Open VSX mirror | §2.9 | Self-hosted Open VSX in alphaswarm-ide namespace |
| Step-up confirmation for copilot write tools | (rule 52) | Surface confirmation chips before invoking /halt / /me/byok/* / /tenancy/invites tools |
Phase C — Trigger: tick / order-book research demand emerges
| Workstream | Blueprint section | AlphaSwarm-aligned implementation |
|---|---|---|
| Arrow Flight gateway backend service | §4.1 | A new compile-time extension alphaswarm-flight-gateway-ext with a JSON-RPC service that fronts AlphaSwarm Iceberg + Snowflake (when present) via ADBC |
| Tick blotter widget | §5.2 | New widget in alphaswarm-quant-ext (or a sibling alphaswarm-trading-ext) that subscribes to the live market data Kafka topic |
| Real-time Yjs notebook collaboration | §5.5 | New compile-time extension alphaswarm-notebook-rtc-ext with a backend Yjs WebSocket server |
| Hudi upsert-heavy market-data partitions | (rule 46) | Wire alphaswarm/data/lakehouse/hudi/ into the BacktestRunner spec UI |
| GPU / RAPIDS scheduling | §3 (Layer 5) | New AppDefinition flavour with GPU node selectors |
Hard-rule mapping summary
| Rule | Phase A | Phase B | Phase C |
|---|---|---|---|
| 2 (LLM gateway) | Copilot uses router_complete | (no change) | Hudi-aware code samples in copilot |
| 4 (progress frame) | AqpWsClient consumes canonical frame | (no change) | (no change) |
| 22 (DataMCP) | MCP bridge | (no change) | Flight gateway uses DataMCP for catalog metadata |
| 26 (CredentialResolver) | Python helpers | (no change) | Flight gateway pulls Snowflake creds via store |
| 27 (IdentityProvider) | All extensions | Per-pod oauth2-proxy | (no change) |
| 45 (WorkloadRuntime) | CLI doctor + alphaswarm-ext halt | Multi-pod halt via /workloads/halt | (no change) |
| 47 (topology) | CLI detect / env | (no change) | (no change) |
| 49 (MCP audience) | Bridge sets X-AlphaSwarm-MCP-Audience | (no change) | (no change) |
| 52 (step-up MFA) | alphaswarm-ext halt | Copilot write-tool gating | (no change) |
Decision log
| Decision | Rationale |
|---|---|
Use AlphaSwarm router_complete (rule 2) for the copilot, NOT @theia/ai-openai / @theia/ai-anthropic etc. | AlphaSwarm's provider catalog + cost caps + tenancy + audit run through router_complete. Bypassing it would create an auditing blind spot for every chat completion. |
Use AlphaSwarm's five spec runtimes for SpecAuthor, NOT a generic BacktestService JSON-RPC | The blueprint's hypothetical BacktestService is what AlphaSwarm already has — five hash-locked spec runtimes with persist_spec + immutable version rows. Reinventing them would create a fork. |
| Defer Arrow Flight + Theia Cloud + RTC to Phase B/C | AlphaSwarm's current load (single-tenant Vite UI + AlphaSwarm API) does not justify the multi-tenant Theia Cloud operator yet. The blueprint's Flight gateway is a Phase C target — DataMCP + Iceberg already cover the data plane for Phase A. |
Keep alphaswarm_client/ as the operator UI; Theia complements it | The Vite app already has the operator dashboards. Theia adds notebook + MCP copilot + spec authoring + repo navigation. Two surfaces, one tenancy, no duplication. |
Make alphaswarm-cli ide the canonical entrypoint | Production deploys go through one command. yarn stays for inner-loop dev. Mirrors the alphaswarm-cli client pattern for the Vite frontend. |
| Don't fork Theia | Every blueprint risk register flags forking as catastrophic. AlphaSwarm stays on community releases and adds via compile-time extensions only. |
What this roadmap is NOT
- A commitment to ship every blueprint phase.
- A timeline. We ship Phase A now; Phase B and C ship when triggered.
- A justification for re-implementing what
alphaswarm_client/already provides. - A reason to bypass the 55 hard rules.
Source of truth
- The blueprint we summarised: external research report + product blueprint provided as the source for this enhancement.
- AlphaSwarm's canonical hard rules: ../AGENTS.md.
- Per-extension contracts: ../alphaswarm_ide/theia-extensions/.