Problem
The control plane needs replaceable workers, but external sessions currently expose different identifiers, progress signals, cancellation behavior and result formats.
Required implementation
Define an adapter interface with:
- dispatch/resume/cancel/probe operations;
- durable external session and terminal identifiers;
- heartbeat and semantic-progress observations;
- structured callbacks/results and checkpoint support;
- process-group or remote-session ownership;
- retry/error classification and capability declarations.
Provide a fake adapter and reference integration contracts for OpenCode, ChatGPT Web/SIN-Chrome and Orca terminals.
Acceptance criteria
- Supervisor tests run entirely against the fake adapter.
- Backend replacement does not change goal/attempt semantics.
- Stale external sessions and duplicate callbacks are handled idempotently.
- Adapter outputs are schema-versioned and secret-redacted.
Problem
The control plane needs replaceable workers, but external sessions currently expose different identifiers, progress signals, cancellation behavior and result formats.
Required implementation
Define an adapter interface with:
Provide a fake adapter and reference integration contracts for OpenCode, ChatGPT Web/SIN-Chrome and Orca terminals.
Acceptance criteria