Summary
/build and /plan currently promise that the bot will notify the user when a task completes, but _monitor_events() only logs assistant events and never posts a real completion update to Matrix.
Why this matters
This is core product trust. If remote execution starts from a phone, the user needs a reliable end-of-task signal without checking logs or polling manually.
Proposed scope
- Subscribe to OpenCode session events and detect state transitions such as running, waiting, completed, failed, and aborted.
- Post concise progress updates back to the originating Matrix room.
- Include the final assistant summary or a short completion digest when available.
- Avoid duplicate notifications during reconnects or event replay.
- Chunk long responses safely using the existing message splitting logic.
Acceptance criteria
- A
/build or /plan request produces a Matrix completion or failure message in the same room.
- Notification routing works after reconnects and bot restarts.
- Duplicate event deliveries do not spam the room.
- Failure states are surfaced with enough detail to debug from mobile.
Summary
/buildand/plancurrently promise that the bot will notify the user when a task completes, but_monitor_events()only logs assistant events and never posts a real completion update to Matrix.Why this matters
This is core product trust. If remote execution starts from a phone, the user needs a reliable end-of-task signal without checking logs or polling manually.
Proposed scope
Acceptance criteria
/buildor/planrequest produces a Matrix completion or failure message in the same room.