//! Child-session completion notification primitives.
//!
//! The engine owns child runner lifecycle, but parent resume policy lives in the
//! server/application layer. This module defines the small callback boundary
//! between them so child completion is event-driven without making the engine
//! depend on `AppState`.
use async_trait;
use ;
/// Terminal child-session completion recorded by the child runner lifecycle.
/// Application-layer callback invoked when a child session reaches a terminal
/// state. Implementations must be idempotent: duplicate completion events for
/// the same child can occur when watchdog timeout races normal runner teardown.