Skip to content

Session-event run failures should retry instead of dropping immediate wake #31354

@clay-relay

Description

@clay-relay

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions