Skip to content

ACP client, then cursor and grok drivers over it #1

Description

@chrisbbreuer

cursor-agent and grok both speak ACP, so the client unlocks two of the three
remaining providers and should come before either driver.

Blocked: neither CLI is installed on the development machine. A transport
written against nothing is unverifiable code, which is why the drivers are
currently registered-but-unimplemented rather than sketched.

What exists already

  • packages/drivers/src/conformance.ts — the spec every driver must pass. A new
    driver is done when ./buddy harness:doctor --conformance --driver <kind> is
    green.
  • packages/drivers/src/cli-driver.tscursor and grok are registered and
    probe honestly today ("not installed", or "installed but the driver is not
    implemented yet"). They must never report ready until they can actually run
    a turn, or a session starts and dies on its first turn.
  • packages/drivers/src/codex.ts — the closest reference. It is written against
    the protocol schema the CLI generates for itself rather than against guesswork.

Watch for

Both findings from the codex driver are likely to recur:

  1. Terminal-event coalescing. Codex signals a failed turn twice — an error
    notification, then a failed turn/completed. Emitting on arrival ends the
    turn twice. The conformance suite catches this ("exactly one terminal event").
  2. Wire enum spelling. Codex rejected onRequest where it wanted
    on-request, and only after a thread had already started. Pin the exact
    strings in a test.

Done when

harness:doctor --conformance is green for the driver against the real CLI, and
a turn with a tool call produces session.provider-bound, tool.call.began,
tool.call.ended, turn.completed in the log.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions