Cron runtime leaks background process notifications to origin chat regardless of deliver target #75
Labels
No labels
blocked:gate-research
blocked:needs-decision
blocked:needs-human
blocked:no-changes
bug
documentation
enhancement
feature-request
in-progress
quickfix
research
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/infrastructure#75
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Observation
LLM-driven cron jobs (those without
no_agent: true) that execute scripts viaterminal()produce background process completion notifications that route to the origin chat — the chat where the cron job was created — rather than (or in addition to) the configureddelivertarget.Example: ops-task-autorun
This job had
deliver: "matrix:!eNZqgrf..."set correctly, but its output was arriving in Discord wrapped in:The
delivertarget (Matrix) was getting the LLM response, but the background process completion notification leaked to Discord (the origin) as a side channel.Impact
terminal()or usesenabled_toolsetsmay leak output to the wrong chatno_agent: true+script:— but that eliminates LLM reasoning for jobs that need itRoot cause (speculative)
The cron runtime wraps LLM-driven job execution as a background process. When the subprocess finishes, the completion notification routes to the session origin regardless of the
deliverfield. Thedeliverfield only controls where the LLM response goes, but the background process notification bypasses it.Requires research
terminal()deliver, or should the cron runtime suppress these side-channel notifications entirely?Already fixed — commit dbafa083b (May 9) changed
run_job()to clearHERMES_SESSION_PLATFORM/_CHAT_IDto empty strings instead of seeding them from the origin. This preventsterminal_tool.pyfrom routing background process notifications to the origin chat. TheHERMES_CRON_AUTO_DELIVER_*vars handle delivery routing instead. Filed May 18, fix was already deployed 9 days prior.