DashboardcliDistillation

Distillation

ID: ec78ceb8-7ae8-4aa3-be0b-a49ab0fe319d
Session: 1YFBlrgyVUrb
Generation: 0
Tokens: 1120
R_compression: 8.833
C_norm: 0.000
Archived: No
Created: 2026-09-08 21:23:38
Source IDs:
["lore_tm_v1_nG8q_sRdOYX3iRaluFb6IL6D1m_XI57b8UeQGfzfua4","lore_tm_v1_t7Wzhc8G847ZSF8Z60JV5du-fY85z338BDT3XjRBWns","lore_tm_v1_bk96QH-6fQmW2jkAAVqQZgGAhEWXJYC03mbv0iD1efs","lore_tm_v1_V5A1d8T8R2Hh9aXUW1GDdjk8cCr01bi_GqYTytMM5Zw"]

Observations

🔴 (20:44) A repository diff showed 791 files changed with exactly 217,091 insertions, creating the pre-monorepo root layout containing .github/workflows/, docs/, plugins/, script/, src/, and test/, along with Bun-era artifacts bun.lock, bunfig.toml, docs/bun.lock, and .cursor/rules/bun-cli.mdc.

🔴 (20:45) User stated that without closed-PR cleanup, previews “never clean up and gh-pages bloats until GitHub Pages” build limits are reached; .github/workflows/docs-preview.yml is intended to publish or remove previews on gh-pages, including cleanup for closed pull requests.

🔴 (20:45) .github/workflows/docs-preview.yml contains logic to ensure .nojekyll exists at the gh-pages root: it fetches an existing gh-pages branch and adds .nojekyll if absent, or creates an orphan gh-pages branch with commit message Initialize gh-pages with .nojekyll; fork PRs lack write access to the base repository’s gh-pages branch.

🔴 (20:45) .github/workflows/cleanup-doc-previews.yml is a safety net for .github/workflows/docs-preview.yml on-close cleanup, sweeping gh-pages for stale previews so it “never bloats past GitHub Pages' build limits again.”

🔴 (20:45) .github/workflows/cleanup-doc-previews.yml uses concurrency group gh-pages-cleanup; its comments state rejected runs are never applied so they cannot corrupt gh-pages, and its push logic retries after fetching and re-syncing when another gh-pages writer moves the branch underneath it.

🔴 (20:45) .github/workflows/cleanup-nightlies.yml defines Cleanup Nightly Tags, runs every Sunday at 06:00 UTC via cron "0 6 * * 0" and via workflow_dispatch, grants packages: write, and runs job cleanup / Prune Old Nightly Tags on ubuntu-latest.

🔴 (20:45) .github/workflows/cleanup-nightlies.yml installs ORAS CLI version 1.2.3 from oras_1.2.3_linux_amd64.tar.gz, verifies SHA-256 b4efc97a91f471f323f193ea4b4d63d8ff443ca3aab514151a30751330852827, extracts oras into /usr/local/bin, and removes the tarball.

🔴 (20:45) .github/workflows/cleanup-nightlies.yml authenticates to ghcr.io using ${{ secrets.GITHUB_TOKEN }}, ${{ github.actor }}, and oras login ... --password-stdin.

🔴 (20:45) Nightly cleanup targets ghcr.io/getsentry/cli, sets KEEP_COUNT: "30", obtains tags with oras repo tags, filters ^nightly-[0-9], sorts with sort -V, and keeps all tags when NIGHTLY_COUNT <= KEEP_COUNT.

🔴 (20:45) When more than 30 nightly tags exist, .github/workflows/cleanup-nightlies.yml computes DELETE_COUNT=$((NIGHTLY_COUNT - KEEP_COUNT)), deletes the oldest nightly-* tags, derives each corresponding patch-${version} tag, and deletes both manifests using oras manifest delete ... --force 2>/dev/null || true.

🔴 (20:45) User stated that when an installation has switched to Homebrew, the /Cellar/ check should win over stale stored install information.

🔴 (20:45) packages/cli/test/lib/upgrade.test.ts tests detectInstallationMethod() as brew when execPath resolves through /opt/homebrew/Cellar/sentry/1.2.3/bin/sentry or an Intel Homebrew /usr/local/Cellar/ path; Homebrew detection overrides stale stored install info and takes priority over a node_modules path.

🔴 (20:45) packages/cli/test/lib/upgrade.test.ts verifies that /opt/homebrew/bin/sentry does not qualify for direct Homebrew detection because it lacks /Cellar/.

🔴 (20:45) packages/cli/test/lib/upgrade.test.ts verifies parseInstallationMethod("brew") returns "brew", fetchLatestVersion("brew") and versionExists("brew", version) use GitHub, and executeUpgrade("brew", "1.0.0") returns null on success but throws UpgradeError on a non-zero exit or spawn error such as brew not found.

🔴 (20:45) packages/cli/test/commands/cli/upgrade.test.ts verifies sentry cli upgrade --method brew 1.2.3 errors immediately with Homebrew does not support installing a specific version, while sentry cli upgrade --check --method brew reports Method: brew.

🔴 (20:45) packages/cli/test/commands/cli/uninstall.test.ts verifies a detected Homebrew installation suggests brew uninstall getsentry/tools/sentry.