Skip to content

Terminalize requests pinned to permanently unavailable agent versions #1395

Description

Problem

Scheduler reconciliation returns queued requests to pending when their selected registry target disappears or moves queues. Invalid pending targets are currently only logged and reported through telemetry.

A request explicitly pinned to an agent version that has been deleted, removed, or retired can therefore remain pending indefinitely unless that exact target is restored.

This was identified during review of #1381.

Expected behavior

Terminalize requests whose explicitly selected target is permanently unavailable, with a clear failure reason such as agent_version_unavailable.

Preserve recovery for cases that may become valid again:

  • A version that moved to another queue should be returned to pending and dispatched to its current queue.
  • A temporary agent outage should remain recoverable.
  • Requests must not be silently migrated to another agent version because that could change execution behavior and undermine benchmark reproducibility.

Implementation notes

Update invalid-pending-target reconciliation to distinguish permanent invalidity from temporary unavailability. Add coverage for:

  • deleted agent
  • missing or retired exact version
  • queue movement
  • temporary agent unavailability
  • no silent version substitution

Keep the terminal status and failure metadata consistent with existing request lifecycle conventions.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions