#14897·orca

[Feature]: nudge a silent dispatch from the runtime, without taking completion authority

Author: Tauri-EPOCreated Aug 16, 2026Updated Sep 17, 2026

Proposal — 2026-09-04

When an active supervised Dispatch is quiet and the available evidence supports intervention, the runtime could send a bounded lifecycle reminder and eventually notify the coordinator. This proposal stops at a nudge/escalation; it does not decide that the Task succeeded or failed.

The original report found warn-only stale detection in the in-process coordinator. A coordinator running as an agent still depends on checking its Run. Missing worker_done reports are documented in #14829; silence by itself does not establish that a worker needs intervention.

Boundaries

  • Reuse an agreed classification such as #15273 rather than inventing another silence threshold. It remains an open proposal; the sequencing discussion is recorded in the comments below.
  • Skip intervention for unknown evidence and known human waits. #15261 already exposes per-worker wait evidence.
  • Use the execution host's live / unverifiable / exited evidence. An exited process is not a silent live worker; loss of contact is not proof of exit. #15244 already records exit cause.
  • Protect a person's active composer before any automatic write (#14832/#11279). A nudge is still input and must obey the same guard.
  • Correlate evidence that a nudge was consumed. Runtime-injected bytes or unrelated PTY output do not prove consumption; an unobserved nudge must not earn a strike or trigger repeated blind reinjection.
  • Bound the attempts and stop with a single inspectable escalation. Do not increment failure counts, fail the Dispatch, redispatch or settle success from the ladder.

The reminder can name the current Dispatch and ask for its lifecycle report or a request for help. Thresholds and the exact delivery mechanism remain decisions to evaluate, including false nudges during long tool calls and agents that keep emitting spinner output without making progress.

Scope corrections

The fallback functions referenced in the original report were startTuiIdleFallbackPoll / startPtyTuiIdleFallbackPoll, not startLeafTuiIdleFallbackPoll. Existing quiet/idle detection is evidence to reuse where suitable, not proof of progress or a complete nudge implementation.

The earlier fleet implementation #14891 closed unmerged. #14907 now allows an aggregate read as well as optional response attachment; that delivery preference is not a prerequisite for deciding this action proposal. #15185 separately covers a coordinator with ready work and no future wake-up. #14829 is the broader settlement proposal and needs its own result-evidence contract.