Submatter/plans/Plan-automation-foundation/Epic-apps-worker-v1/Epic-apps-worker-v1.md
varutasu 8e1ab90fb1
feat(worker): minimal agent runtime for orchestrator jobs (Epic 7) (#11)
* feat(worker): minimal agent runtime for orchestrator jobs (Epic 7)

Adds apps/worker to consume Redis dispatch jobs, run a tool loop with model registry resolution, and record claim/complete + convoy role_complete events.

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore(deploy): add orchestrator and worker to Coolify compose

Fix CI pnpm setup conflict and ship Docker targets for the automation stack alongside web/collab/mcp.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 15:31:34 -05:00

1.6 KiB

kind slug title plan_slug status priority tenant_id cursor_epic_id updated_at
epic apps-worker-v1 apps/worker v1 — minimal Echodo coding agent automation-foundation in_progress P1 global null 2026-07-03

Epic objective

First-party apps/worker: minimal agent runtime in the Echodo monorepo (not OpenHands). Docker sandbox per job, tool loop (read_file, write_file, grep, run_command with allowlist), git worktree per brief, MCP claim_task / complete_task, inference via ResolvedModel from orchestrator.

Role prompt = .cursor/agents/role-*.md + brief path. Model endpoint points at operator Mac (Ollama or MLX server — see ADR § Local MLX) or cloud APIs per registry.

Parallel implementers: When orchestrator dispatches N implementers to the same Mac inference host, prefer a batching-capable MLX server (mlx-openai-server) over mlx_lm.server alone. Document chosen server + port in workspace provider alias (qwen-coder-mlx).

In scope / out of scope

In scope

  • WorkerSession adapter interface (for future optional OpenHands plug-in).
  • pnpm lint && pnpm test in allowlisted commands.
  • Branch + PR draft output (forge adapter from Epic 3).

Out of scope

  • Browser automation, multi-agent delegation.
  • Feature parity with OpenHands.

Dependencies

  • Epic 1, 3, 6.

Blocks

  • Epic 8 (meaningful PR webhook dogfood).

Acceptance criteria

  • One brief from .convoys/ completes unattended on connected repo.
  • complete_task includes model alias + token totals.

Tasks

To be decomposed when epic graduates to ready.