pub fn spawn(
rx: Receiver<TaskEvent>,
backend: Arc<dyn ExternalBackend>,
tmux: Arc<TmuxManager>,
semaphore: Arc<Semaphore>,
task_manager: Arc<TaskManager>,
router: Arc<RwLock<Router>>,
dispatching: Arc<DashMap<String, String>>,
store: Arc<TaskStore>,
repo: String,
)Expand description
Spawn a task that listens for NeedsReview events and triggers the review agent.
This is the sole trigger for NeedsReview → InReview transitions. The sync tick no longer has a competing NeedsReview loop (removed in fix for issue #857 — both paths firing simultaneously caused double failure-counter increments).