Summary
requestSessionEventRun currently logs and drops when triggerSessionEventRun throws. For transient failures (dispatch/model errors), queued exec system events may remain unprocessed until another unrelated inbound message/event triggers a run.
Why this matters
Exec completion wake is intended to produce an immediate follow-up turn. A transient failure should not silently lose that immediate-run attempt.
Scope
- Add retry/requeue semantics for failed session-event runs.
- Preserve serialization and avoid duplicate runs.
- Keep current
hasSystemEvents guard behavior.
Suggested direction
- Requeue wake with bounded retry/backoff when dispatch fails.
- Include reason/source/session in logs and retry metadata.
- Add tests for transient failure then success, and exhausted retries.
Summary
requestSessionEventRuncurrently logs and drops whentriggerSessionEventRunthrows. For transient failures (dispatch/model errors), queued exec system events may remain unprocessed until another unrelated inbound message/event triggers a run.Why this matters
Exec completion wake is intended to produce an immediate follow-up turn. A transient failure should not silently lose that immediate-run attempt.
Scope
hasSystemEventsguard behavior.Suggested direction