Submatter/plans/Plan-automation-foundation/Epic-apps-orchestrator/Epic-apps-orchestrator.md
Randall Stillwell 35def387ae docs(plans): add Autensa benchmark tasks to automation foundation roadmap
Map reliability, operator UX, and spend-control follow-ons onto epics 1–9
so worker, webhooks, and fleet work have bead-scale task briefs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 10:48:36 -05:00

2.4 KiB

kind slug title plan_slug status priority tenant_id cursor_epic_id updated_at
epic apps-orchestrator apps/orchestrator — role dispatch and gate pauses automation-foundation done P1 global null 2026-08-03

Epic objective

Long-running apps/orchestrator service: Redis job queue, convoy state machine driver, role dispatcher. Inspired by Symphony concepts (stall detection, token logging) — not Symphony codebase.

On Go: enqueue planning roles serially (ia → ux → architect), stop at convoy_review; after Gate 1, dispatch implementer jobs (parallel when slice_dependencies allow); fan-out audit jobs; stop at pr_review and post-merge gates.

Parallel implementer fan-out: When multiple implementer jobs target the same Mac inference host, orchestrator should pass the same qwen-coder-mlx alias to each job; operator must run a batching-capable MLX server (mlx-openai-server) — see docs/adr-model-routing.md § Local MLX. Cap concurrent implementers per host in orchestrator config if OOM occurs (agent-pipeline multitask playbook).

Each job calls resolveModel(workspace, roleId, convoy, brief) and passes ResolvedModel to worker.

In scope / out of scope

In scope

  • apps/orchestrator package in monorepo.
  • Redis queue (existing infra).
  • Deploy on Coolify beside web.
  • Stall detection → agent_runs / convoy blocked.

Out of scope

  • Worker implementation (Epic 7).
  • Symphony / Linear integration.

Dependencies

  • Epic 1 (resolveModel).
  • Epic 3 (repo link for clone path).
  • Epic 4 (transitions).
  • Epic 5 (gates — for dogfood; orchestrator can run in dry-run before UI).

Blocks

  • Epic 7 (worker consumes jobs).

Acceptance criteria

  • Dry-run: orchestrator logs next role for a convoy without worker.
  • Live: one implementer brief dispatched and paused correctly at gate.

Tasks

Follow-on tasks (Autensa benchmark)

Task Link
Agent health auto-nudge & zombie recovery Task-orchestrator-auto-nudge

Note

Supersedes Epic-optional-orchestrator deferred stub with a concrete Echodo-native design.