- Added Phase 5: ACP Harness & Runtime Agnosticism to roadmap
- Created docker/docker-compose.agent-server.yml for CT 102 deployment
- Updated worker default AGENT_SERVER_URL to internal Docker DNS (http://agent-server:8001)
- Worker now runs OpenHands sessions directly on the server, no laptop/Traefik needed
- Extract WorkerExecutorOptions from inline type in shared executor
- Use WorkerExecutorOptions throughout remote-ag-ui.ts and index.ts
instead of loose any types
- Extend WorkerExecutor.run return to include outcome
- Add 8 test cases in executor.test.ts covering:
- Registry dispatch for all harness types
- Missing config returns null
- Auth token missing returns failed
- POST + poll roundtrip behavior
Replaces the hardcoded createMinimalSession in handle-job.ts with a registry
lookup via getExecutor(harnessConfig). The 'minimal' harness still wraps
createMinimalSession; 'remote-ag-ui' POSTs the task payload to a remote agent
endpoint (OpenHands / Open Code / etc.) and polls for completion.
Worker-side completion of Brief 3 (harness-registry-adapter). Pairs with the
already-built AG-UI inbound route at /api/ag-ui/[workspace] and the
harness_providers / role_harness_routes tables.
* 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>