Summary
When a council review is in progress, the user has no visibility into what's happening in the TUI. Reviews can take 60-180+ seconds, and the only feedback is silence until the aggregated result appears (or an error surfaces). The recently added debug logging helps developers diagnose issues but is not a user-facing progress indicator.
Desired Behavior
Provide real-time progress feedback in the TUI during council reviews, such as:
- "Council review started — dispatching to N models..."
- "Reviewer 1/N responded (model-name)" as each completes
- "Waiting for M remaining reviewers..." with elapsed time
- "Aggregating responses..." when the aggregation phase begins
- Timeout warnings: "Reviewer X approaching timeout (150s/180s)..."
Current State
- The plugin logs structured messages via
ctx.client.app.log() when debug: true
- These logs go to opencode's internal log stream, not to user-visible TUI elements
- The
council_review tool returns only the final aggregated result or an error string
- No intermediate progress is surfaced to the calling agent or user
Constraints & Considerations
- OpenCode's plugin API may not currently support streaming progress updates to the TUI — this may require upstream API additions or a convention for progress reporting
- The progress messages should be informational, not pollute the conversation history
- Should work regardless of whether debug logging is enabled
- Consider whether this is best implemented as:
- Plugin-level progress events (if the API supports it)
- Periodic status messages to the parent session
- A convention where the tool returns partial results that the calling agent can surface
References
src/index.ts lines 470-483 (current logging infrastructure)
- OpenCode plugin API documentation for available progress/streaming mechanisms
Summary
When a council review is in progress, the user has no visibility into what's happening in the TUI. Reviews can take 60-180+ seconds, and the only feedback is silence until the aggregated result appears (or an error surfaces). The recently added
debuglogging helps developers diagnose issues but is not a user-facing progress indicator.Desired Behavior
Provide real-time progress feedback in the TUI during council reviews, such as:
Current State
ctx.client.app.log()whendebug: truecouncil_reviewtool returns only the final aggregated result or an error stringConstraints & Considerations
References
src/index.tslines 470-483 (current logging infrastructure)