Currently there's nothing enforcing a deadline on heartbeat runs... reasonable deadlines could be:
- at least the heartbeat interval itself -- if it's not done by time for the next one, cancel the prior, and try to restart
- maybe half the interval tho is a better default, so that we at least degrade to servicing telegram messages "the other half" of our time budget; currently due to workspace lock, turn gate, or whatever the chat channel fails to "not responding" while the hearbeat is (over-)running
b. a more advanced failure mode, would be to have a restricted "read only" agent available for chats while the heartbeat is running ; e.g. a telegram agent, but without write/edit tools, only read/get/search/fetch/etc
Additionally, my change in 33fd7e7 to make heartbeat session save only happens after a session completes, so one cannot even look a the log of a running session to debug "why it take so long?"
Maybe building on the recent work for callback-ability for cli tool observation, we can have the heartbeat runner save the session log after every tool call?
I'll work on these Soon ™️ but will not be offended if you have Copilot scoop me on them ;-)
Currently there's nothing enforcing a deadline on heartbeat runs... reasonable deadlines could be:
b. a more advanced failure mode, would be to have a restricted "read only" agent available for chats while the heartbeat is running ; e.g. a telegram agent, but without write/edit tools, only read/get/search/fetch/etc
Additionally, my change in 33fd7e7 to make heartbeat session save only happens after a session completes, so one cannot even look a the log of a running session to debug "why it take so long?"
Maybe building on the recent work for callback-ability for cli tool observation, we can have the heartbeat runner save the session log after every tool call?
I'll work on these Soon ™️ but will not be offended if you have Copilot scoop me on them ;-)