You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
observability tooling is left with trigger-based heuristics and cannot attribute runs precisely.
Proposal
ScheduleDispatcher is the single choke point for all schedule dispatch (markdown via runMarkdown; handler-form receive() runs in its context too — see the analysis in #387). Stamp the runs it dispatches with:
$eve.schedule = the schedule id (optionally $eve.schedule_cron as well);
sessions spawned in a schedule context carry the attribute, propagated the same way as $eve.root / $eve.parent;
$eve.trigger semantics stay unchanged — channel-dispatched sessions keep the channel kind; this only adds provenance.
Pure metadata addition, no behavior change, backward compatible. With it, attributes ->> '$eve.schedule' = <id> yields any schedule's complete run history regardless of how the handler dispatched.
Problem
The only durable trace a schedule execution leaves is
$eve.trigger = 'schedule'on workflow runs — nothing records which schedule fired:dailyrun last night? what's its success rate?" is unanswerable);receive(channel, ...)produce sessions whose$eve.triggeris the channel kind, notschedule, so filtering by trigger misses them entirely — and that dispatch path is a first-class pattern (Handler-form schedule → channelreceive()fails ineve devwithLoadCompiledModuleMapError#104);Proposal
ScheduleDispatcheris the single choke point for all schedule dispatch (markdown viarunMarkdown; handler-formreceive()runs in its context too — see the analysis in #387). Stamp the runs it dispatches with:$eve.schedule= the schedule id (optionally$eve.schedule_cronas well);$eve.root/$eve.parent;$eve.triggersemantics stay unchanged — channel-dispatched sessions keep the channel kind; this only adds provenance.Pure metadata addition, no behavior change, backward compatible. With it,
attributes ->> '$eve.schedule' = <id>yields any schedule's complete run history regardless of how the handler dispatched.