Executive summary
Hiro's local operating workflow was tightened so the model server and Telegram integration behave as one intentional lifecycle instead of unrelated background processes. Starting Hiro now enables Telegram notifications and starts the bot, while the new shutdown path disables notifications before stopping services.
The change also teaches Hiro's monitoring and notification layers to distinguish an intentional shutdown from a failure. That prevents avoidable alerts and automatic recovery behavior when the operator has deliberately taken the system offline.
Documentation and focused tests were added alongside the implementation. The code and test intent were inspected during this work session, but the targeted Python test could not be executed in the current tool environment because a project Python runtime with pytest was not available. Full runtime verification therefore remains an explicit follow-up.
A later controlled laboratory session validated the reliability branch with all 75 Python tests passing, then ran repeated public and repository-external held-out evaluations using only the local Gemma model. Four consecutive daytime repetitions converged on the same degraded result, establishing that the failure was systematic rather than sampling noise.
Detailed tracing identified a timeout cascade: Hiro's full agent request currently takes about 97 seconds, while each evaluator case is limited to 60 seconds. Cancellation then leaves the single model slot occupied for roughly 16 additional seconds, consuming the next case's budget and propagating failures through the suite. No behavioral candidate was promoted.