Dashboard › cli › Distillation
82f6a379-94f4-4e7e-b315-33a32eb6266d["lore_tm_v1_ztTbcpeQUQTp6-9dR_D1k0y0ScobZJuuVQtHLmm9lp8","lore_tm_v1_J16--LXk3o0yRids9Y9Be1BbZ30EFyMhz7r-L9QrQZE"]
878459c490576dbb7abb76d3a3dc1b5d9fc62c1f, tree 8e36adccb73967ef42f9dc3b0015e5032ed41942, and object/commit e22f0eba66298a7228a988a4adcf1ec5be85227b; base-to-head binary diff SHA-256 was 741bd72559d1033c0f801cba98e635f85f0b96dcca6f2180f5d9158ffb5251fc.MUST-FIX: GitHub pagination does not preserve an external abort reason. packages/cli/src/lib/upgrade.ts:523-526 passes the caller’s signal into each pagination request, but packages/cli/src/lib/binary.ts:503-512 only preserves caught errors named AbortError; it does not check init.signal?.aborted or rethrow init.signal.reason.Error, fetchWithUpgradeError() converts the exact abort reason into UpgradeTransportError, violating abort identity and making cancellation indistinguishable from transport failure.fetchWithUpgradeError(), check init.signal?.aborted and throw init.signal.reason.fetchLatestFromGitHubWithSource(signal) rejects by object identity, and assert exactly two requests. Existing initial-source-probe coverage was identified at packages/cli/test/lib/binary.test.ts:457-470; pagination tests at packages/cli/test/lib/upgrade.test.ts:215-316 lacked this case.PASS: packages/cli/src/commands/cli/upgrade.ts:225 requires UpgradeTransportError, so HTTP and metadata UpgradeErrors cannot enter cache fallback; populated-cache transport fallback and HTTP 403/malformed-200 rejection are covered at packages/cli/test/commands/cli/upgrade.test.ts:406-450.PASS: npm latest versions and pins use strict SemVer and reject every prerelease at packages/cli/src/lib/upgrade.ts:575-587,838; malformed/dev/beta/rc coverage is at packages/cli/test/lib/upgrade.test.ts:493-510,727-734.PASS: source resolution advances only for HTTP 404, while other HTTP and transport failures terminate at packages/cli/src/lib/binary.ts:341-357; tests cover 404 ordering plus 401, 403, 429, 500, and transport boundaries at packages/cli/test/lib/binary.test.ts:108-168.PASS: selected source reaches download, changelog, delta, and prefetch paths at packages/cli/src/commands/cli/upgrade.ts:695,1018-1034; delta affinity tests are at packages/cli/test/lib/delta-upgrade.test.ts:1943-2034, and version-check prefetch affinity tests are at packages/cli/test/lib/version-check.test.ts:506-618.PASS: normalized release arrays carry a private symbol/source key at packages/cli/src/lib/delta-upgrade.ts:75-119; release notes reject unbranded or differently branded input at packages/cli/src/lib/release-notes.ts:430-438,638-643.PASS: pinned nightly lookup always uses standalone resolution at packages/cli/src/commands/cli/upgrade.ts:335; changelog and migration dispatch derive artifact type from the resolved target at packages/cli/src/commands/cli/upgrade.ts:273-275,1018,1032,1072.PASS: only HTTPS api.github.com, selected-source or canonical repository release paths, and positive page numbers pass at packages/cli/src/lib/upgrade.ts:149-177; requests are rebuilt from the selected source rather than following the supplied URL.PASS: token, manifest, blob, and tag URLs use the selected GHCR repository at packages/cli/src/lib/ghcr.ts:234,274,385,483; the authenticated request uses manual redirects at lines 393-397, and the redirected request omits authorization at lines 436-440.PASS: nightly chains require a target SHA and inline patch-output verification at packages/cli/src/lib/delta-upgrade.ts:441-488; resolveAndApply retains the established patch cache at lines 566-572.PASS: missing cached delta data raises offline_cache_miss at packages/cli/src/lib/upgrade.ts:1218, and package-manager offline mode remains rejected before execution.PASS: no installer or workflow path changed in the exact diff.PASS: packages/cli/test/commands/cli/upgrade.test.ts:1328-1331 parses the URL and compares the exact origin rather than using substring-based origin assertions.878459c490576dbb7abb76d3a3dc1b5d9fc62c1f, tree remained 8e36adccb73967ef42f9dc3b0015e5032ed41942, and no worktree files or repository state were modified.DO-NOT-MERGE.