DashboardcliUpgrade-source affinity and regression …

Upgrade-source affinity and regression contracts

Category: preference
Confidence: 0.80
ID: 01a08c39-be3f-7e5f-ba71-f9eb245ed353
Project ID: c760f4f9-42b0-4ce0-b36d-6b8c38d770b2
Cross-project: No
Recalled in other projects: 0
Source session: 0GF9HJQkQP5CCU5DL
Created: 2026-09-10 14:12:36
Updated: 2026-09-10 16:49:49

Content

Represent the selected release origin as an explicit UpgradeSource and thread it through discovery, normalization, tag filtering, validation, delta resolution, GitHub/GHCR requests, changelogs, nightly commits, summaries, caches, and full-download fallback. Build URLs from that source rather than fixed repository constants; prefer parameters over mutable globals. Keep legacy unprefixed-tag APIs with optional trailing source parameters defaulting to PRIMARY_UPGRADE_SOURCE, while internal source-aware paths require an explicit source. Tests must assert exact repositories, URLs, token scopes, manifests/blobs, patch requests, spawned arguments, channels, hints, caching, and offline behavior. Allow source fallback only on typed HTTP 404 and cache fallback only after transport failures; prove unrelated sources are never contacted.

Move to: