* 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>
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
WorkerSessionadapter interface (for future optional OpenHands plug-in).pnpm lint && pnpm testin 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_taskincludes model alias + token totals.
Tasks
To be decomposed when epic graduates to ready.