An app that speaks ACP and can launch a custom agent command (Zed and
others) can now offer an OpenRig team as its agent. `rig acp serve --to
<member@rig>` serves ACP v1 on stdio:
- a prompt becomes a queue row from the caller to the receiver;
- each row the work reaches shows as a step with its notes, attributed to
the seat that wrote them, following handoffs on this machine;
- the closing resolution is the reply, with who closed the row and how.
end_turn says only that the turn ended;
- a follow-up in the same session is a new row that names the earlier
rows and their states;
- cancel stops waiting, and the reply says the team's work goes on.
initialize answers without a daemon. The one sign-in method, "OpenRig on
this machine", checks that the local daemon answers and that the caller
resolves (--as, OPENRIG_SESSION_NAME, or the default person). Until then,
authenticate and session/new return auth_required with the reason and
the fix. Only ACP messages reach stdout.
The JSON-RPC peer is split into a stream base (JsonRpcPeer), the existing
client end (StdioJsonRpcPeer) and the agent end (StreamJsonRpcPeer). An
unknown method now answers "Method not found".