All ACP sessionUpdate calls are now routed through a promise chain
(`sendUpdate`) that guarantees ordering. After each prompt completes,
a reconciliation step fetches the final assistant message and delivers
any text/reasoning content that was missed by SSE delta events — fixing
a race where streaming events arrive after end_turn.
Also adds handling for the `question.asked` event via the ACP permission
flow, and updates the question tool to use a two-step async pattern.