Skip to content

Preserve provider launch-failure attribution in synchronous auction telemetry #1017

Description

@ChristianPavilonis

Description

The synchronous auction path loses per-provider attribution when every configured provider fails to launch.

AuctionOrchestrator::run_providers_parallel accumulates provider_launch_failed_response entries, but when there are no pending or immediate responses it returns Report<TrustedServerError>. The synchronous callers then emit AuctionTerminalOutcome::ExecutionFailed with provider_responses: &[] because the structured launch-failure responses are no longer available.

The split-phase dispatch path already preserves the same information through DispatchAuctionOutcome::DispatchFailed { provider_responses, ... }, so equivalent failures currently produce different telemetry depending on the auction path.

This was identified as a non-blocking interaction while reviewing #918. It is telemetry-only; the existing terminal error and HTTP behavior should remain unchanged.

Acceptance criteria

  • Preserve structured provider launch-failure responses when synchronous orchestration returns a terminal error.
  • Emit attributable provider-call telemetry for all-provider-launch-failure outcomes on /auction and synchronous page-bids paths.
  • Retain the existing terminal execution_failed behavior, error response, and mediation bypass; do not convert the failure into a successful no-bid response.
  • Keep the split-phase DispatchFailed behavior consistent with the synchronous path.
  • Add regression coverage for synchronous all-provider launch failures and their emitted provider rows.

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