Hmbown/CodeWhale · error
Steer receipt task ended before acknowledgement
Error message
Steer receipt task ended before acknowledgement
What it means
Sentinel from the steer receipt path: the acknowledgement channel receiver failed because the spawned receipt task ended before sending its ack (task dropped, panicked, or sender dropped during shutdown). The comment above it notes the reserved send has no failure point, so this indicates the lifecycle task itself died rather than a steer delivery failure.
Source
Thrown at crates/tui/src/runtime_threads.rs:6319
Err(error) => {
let cleanup = self.store.remove_item(&item.id);
return match cleanup {
Ok(()) => Err(error),
Err(cleanup_error) => Err(anyhow!(
"Failed to persist steer: {error}; cleanup also failed: {cleanup_error}"
)),
};
}
};
// The reserved send has no await/failure point. From here the
// engine and durable record agree even if the API caller drops.
let _sender = permit.send(prompt.clone());
touch_lru(&mut active.lru, thread_id);
self.spawn_steer_receipts(turn, item, prompt)
};
receipt_rx
.await
.map_err(|_| anyhow!("Steer receipt task ended before acknowledgement"))
}
pub async fn compact_thread(
&self,
thread_id: &str,
req: CompactThreadRequest,
) -> Result<TurnRecord> {
let thread = self.get_thread(thread_id).await?;
let engine = self.ensure_engine_loaded(&thread).await?;
let client_preflight_required = {
let active = self.active.lock().await;
let Some(active_thread) = active.engines.get(thread_id) else {
bail!("Thread engine not loaded");
};
if active_thread.active_turn.is_some() {
bail!("Thread already has an active turn");
}View on GitHub (pinned to 0c42157ee5)
Solutions
- Check logs for a panic in the steer receipt lifecycle task
- Verify the engine and thread are still alive; a thread shutdown mid-steer produces this
- The durable steer record may exist without acknowledgement — reconcile via the turn's steer_count before re-steering
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at crates/tui/src/runtime_threads.rs:6319 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Hmbown/CodeWhale@0c42157ee5 (2026-08-20).
Data as JSON: /api/errors/c4c2220a79d5ac47.
Report an issue: GitHub.