fix(omo-senpi): bound the Kibitzer and facts shutdown awaits by the drain deadline (refs #8337)
senpi awaits session_shutdown handlers with no host cap, so the two pre-drain awaits (Kibitzer sidecar shutdown, facts cancellation) could stall quit/reload/new/resume for as long as a stuck sidecar mutex held them, and starved the drain steps that follow. ShutdownDrain gains raceDetached(input, name, work): the work is always started - it is what releases the wake lease and the sidecar directory owner lock - but it is raced against the same deadline the drain steps share. On expiry the drain's existing budget warning is logged with step: name, the handler returns, and the work continues detached with a late failure warned instead of left unhandled.
Y
YeonGyu-Kim committed
730a5353f65a9ced100d3fba108609068acfb8b8
Parent: 879a8b7