• v2.0.0-final: dispatcher + task queue + agent probing

    indifferentketchup released this 2026-05-25 03:55:18 +00:00 | 56 commits to main since this release

    Phase 4 of v2.0. BooCoder can now queue tasks and dispatch them
    through the inference loop autonomously.

    Dispatcher (services/dispatcher.ts): in-process setInterval(5s) polls
    tasks WHERE state='pending', picks one at a time, creates an isolated
    session+chat, enqueues inference with the task's input as the user
    message, polls for completion, marks state completed/failed with
    output_summary. Single-task-at-a-time for v2.0.0; parallel dispatch
    is a Phase 5+ concern. Respects onClose hook for graceful shutdown.

    Task routes (routes/tasks.ts): POST /api/tasks (create), GET /api/tasks
    (list with state/project filters), GET /api/tasks/:id (detail),
    POST /api/tasks/:id/cancel (marks cancelled, aborts if running).

    Agent probe (services/agent-probe.ts): on startup, probes PATH for
    opencode/goose/claude/pi via which + --version. UPSERTs into
    available_agents table. Finds nothing inside the container (expected —
    Phase 5 addresses host-agent access via ACP/PTY).

    Schema: ALTER TABLE tasks ADD COLUMN IF NOT EXISTS session_id (links
    task to its auto-created inference session for isolation).

    Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

    Downloads