Dashboard › cli › Distillation
Distillation
ID: 2ee00ff9-6445-4fb5-b284-8c012769a5a9
Generation: 0
Tokens: 668
R_compression: 6.741
C_norm: 0.000
Archived: No
Created: 2026-09-10 04:53:27
Source IDs:
["lore_tm_v1_mIUzOo4EkQyxVhn0FXHdfYeHPgkAoBF1zgYdguApl30","lore_tm_v1_9yKmTjsGmY3Wjc-Z1uArwX-4LGM6T94Ssx8vXF-bb5w"]
Observations
Date: Sep 10, 2026
- 🔴 (02:37) User stated downloaded-binary verification must throw an
UpgradeError when the file never becomes visible or stays empty.
- 🔴 (02:37) User’s downloaded-binary verification uses
VERIFY_BASE_DELAY_MS = 100, retries through VERIFY_MAX_ATTEMPTS, and probes the path with probeBinaryFile(path: string): number | null; documented attempt 4 waits 700 ms and reaches 800 ms cumulative delay.
- 🔴 (02:37) User stated delta-patch upgrade failures—including missing patches and hash mismatches—fall back to a full binary download.
- 🔴 (02:37) User’s offline-upgrade error directs users to run
sentry cli upgrade without --offline to download the update directly.
- 🔴 (02:37) User stated an immediately spawned downloaded binary could be unreadable on Windows with Bun 1.3.9 (
CLI-1D3) due to streaming-write visibility behavior, motivating post-download verification.
- 🔴 (02:37) User’s standalone upgrade flow sets executable permission only on Unix.
- 🔴 (02:37) User’s patch helper returns
null silently on any failure so its caller can fall back to a full download.
- 🔴 (02:37) User’s
downloadFullBinary() dispatches nightly downloads through downloadNightlyToPath(destPath, version, setMessage, source).
- 🔴 (02:37) User stated Homebrew upgrades intentionally ignore a requested version because Homebrew manages versioning through the formula.
- 🔴 (02:37) User’s package-manager upgrade command uses
["install", "-g", \sentry@${version}`]when installing a specified version and maps nonzero exits toUpgradeError("execution_failed", ...)`.
- 🔴 (02:38) User’s GHCR nightly-version validation uses
NIGHTLY_VERSION_REGEX = /^\d+\.\d+\.\d+-dev\.\d+$/.
- 🔴 (02:38) User’s GHCR network layer uses
fetchWithRetry; retryable failures include messages containing "fetch failed", while an externally aborted request is recognized when externalSignal?.aborted && error.name === "AbortError".
- 🔴 (02:38) User stated GHCR requests use a short timeout plus retries to keep the worst-case duration at approximately 20 seconds.
- 🔴 (02:38) User’s GHCR requests send
User-Agent: getUserAgent().
- 🔴 (02:38) User’s OCI manifest model treats each pushed binary/file as one content layer and identifies blobs by content-addressable digests such as
"sha256:abc123...".
- 🔴 (02:38) User’s GHCR blob-download flow follows the blob-storage response and categorizes failures with
"network_error"; the implementation notes Azure Blob Storage has reliable latency characteristics.
- 🔴 (02:38) User’s GHCR tag-listing implementation fetches paginated tag pages, accumulates them in
const allTags: string[] = [], and accepts source: UpgradeSource = PRIMARY_UPGRADE_SOURCE.