ReviewOS

stacks/harness

OpenCode driver

#2
Closed chris opened this 9 days ago ·
9 days ago

The last of the five providers in the contract without a transport.

Blocked: opencode is not installed on the development machine.

OpenCode has its own CLI/HTTP runtime rather than speaking ACP, so unlike cursor and grok it gains nothing from #1 and can be done independently.

packages/drivers/src/cli-driver.ts already registers it and probes honestly. packages/drivers/src/codex.ts is the reference for a non-ACP driver.

Done when

./buddy harness:doctor --conformance --driver opencode is green against the real CLI, and a turn with a tool call lands the full event sequence in the log.

9 days ago

Done, verified live against opencode 1.18.18 (installed via bun; the free tier answers with zero credentials, so no auth gate).

  • ./buddy harness:doctor --conformance --driver opencode — PASS, all 12 cases (~6s).
  • Tool-call turn: session-bound → tool-call-begin/end (write) → tool-call-begin/end (read) → assistant-delta… → turn-complete, and the file landed on disk with the exact requested content.
  • The premise here was stale in two ways: opencode 1.18 speaks native ACP (no bespoke CLI/HTTP transport needed — OpenCodeDriver rides the same ACP client as cursor/grok), and the live run showed opencode extends the prompt response with per-turn usage, which the driver was discarding. Fixed in 81748f9: usage now reaches the totals.

One operational note: opencode's very first launch on a machine does slow first-run setup — the first conformance run sat well past 10 minutes before being killed, and every run after was ~6s.

Sign in to comment on this issue.