Three occurrences on 2026-08-04, identical signature — aspire restore (CLI 13.4.6) hangs in its bundled nuget restore of the pinned Aspire.Hosting 13.4.6 packages until the suite's 900s gate timeout, twice per run (retry included), exit 6 Failed to prepare AppHost server:
- Local WSL, scaffold.runtime proof run ~09:26–09:58Z (aspire logs
cli_20260804T092654/094300): restore against api.nuget.org + pkgs.dev.azure.com/dnceng hung; feeds probed sub-second minutes later.
- Local WSL retry, same class (earlier run of the same morning).
- Cloud: canary.6's pinned production E2E (run 30906657319, job failed 12:29Z) —
FAILED GATE: runtime.aspire-restore, attempt durations: 900.1s + 900.1s, Summary passed=29 failed=1. This turned the canary.6 pair red on a train with no restore-related changes.
Why it matters
The gate spends 30 minutes to report an infra hang, and a single flaky feed window kills an otherwise-green canary pair. Restore is pure infrastructure — it runs before any NetScript code.
Fix shape (decide in slice)
- Shorter per-attempt timeout with more retries (e.g. 3×300s) so transient feed hangs don't consume the gate budget.
- Pre-seeded/offline NuGet package cache for the pinned Aspire.Hosting versions (they are exact-version pins — cacheable by definition), with network restore as fallback.
- Classify the failure distinctly (
failureClass: canceled today reads as generic) so canary tooling can mark infra-red vs train-red.
Acceptance
Three occurrences on 2026-08-04, identical signature —
aspire restore(CLI 13.4.6) hangs in its bundlednuget restoreof the pinned Aspire.Hosting 13.4.6 packages until the suite's 900s gate timeout, twice per run (retry included), exit 6Failed to prepare AppHost server:cli_20260804T092654/094300): restore againstapi.nuget.org+pkgs.dev.azure.com/dncenghung; feeds probed sub-second minutes later.FAILED GATE: runtime.aspire-restore,attempt durations: 900.1s + 900.1s, Summary passed=29 failed=1. This turned the canary.6 pair red on a train with no restore-related changes.Why it matters
The gate spends 30 minutes to report an infra hang, and a single flaky feed window kills an otherwise-green canary pair. Restore is pure infrastructure — it runs before any NetScript code.
Fix shape (decide in slice)
failureClass: canceledtoday reads as generic) so canary tooling can mark infra-red vs train-red.Acceptance