Dashboard › cli › Distillation
247e2da3-bc0b-43a2-a506-fcc44fea6ee2["lore_tm_v1_zQMAepbHgWvZpfPAuvW9paezAS414jZiN3Y1CPUlWsY","lore_tm_v1_fsmkkcTFxFoHLDkz8O3MBL24K91egbQr3TuzZk7yMdI","lore_tm_v1_MbCv0dj_cuStf3szb9OKgsGdF_JnqodXTjm_b5Ioyeo","lore_tm_v1_EGc2sCqHb9i0G6caXsHs3Inks670fqQwSZC0xvGU-pw","lore_tm_v1_zQrvtVmBCh0HIjGa1RcvN-bVnQGQFjkGR3uLY4L4aMI","lore_tm_v1_xKIzHh-Xyehb8EaUT06QjASimfH0JijZJrkDdE89MU8","lore_tm_v1_SKnHHQe7Fabrb6DXk6KrWNOVdQgO-12EPzEgyT6_m1M","lore_tm_v1_tbn8L5ewJnXwL30g-E4ePhtVFECOouKGuqF4kJn8W7o","lore_tm_v1_DcJIU-r1HgC6bHAj_6uJEmoD3JhfO7d39B01CeItLqQ","lore_tm_v1_YshJl4MADsMcgvhfJY089cjsEjg0zIQ-p0vsxoAM7fg","lore_tm_v1_51pVldA8-WbPKBJFIZf0hGZTqElNgrlD_HkH1F8bN4o","lore_tm_v1_87w-izVObC97TChymzOiOFrpKHNrfncBccA4dZGnaAE","lore_tm_v1_v9Yo-DrphCqyU97xF5HsFyU0svNKnGeVxiki3JIU2Vo","lore_tm_v1_Dqrwo5e8E8q-YXoGse890aYmbhu_JWk5Efn_OZZtWyo"]
6e3e7e13a feat(config): follow XDG Base Directory spec for config location (#1503), b0b22fe82 feat(errors): wire up no-silent-catch lint rule, drop ratchet baseline (#1532), 96390e5f6 chore: pre-shape repo into pnpm-workspace monorepo layout (#1254), cf165f5ba chore: pre-shape repo into pnpm-workspace monorepo layout, and e11da2e85 chore: pre-shape repo into pnpm-workspace monorepo layout.TS2322 at packages/cli/src/lib/binary.ts lines 236 and 244: UpgradeSource | undefined was not assignable to UpgradeSource; both errors came from using PRIMARY_UPGRADE_SOURCE, defined from UPGRADE_SOURCES[0], as the default UpgradeSource.CONTRIBUTING.md existed; contribution guides were found at packages/cli/CONTRIBUTING.md and apps/cli-docs/src/content/docs/contributing.md.packages/cli/CONTRIBUTING.md specifies gh CLI-style command conventions: list commands use optional positional context with auto-detection; view commands use optional primary identifiers when possible; all view/list commands support --json; all view commands support -w/--web; context resolves in order 1. positional arguments, 2. config defaults from sentry config set, 3. DSN auto-detection from SENTRY_DSN or source code.packages/cli/CONTRIBUTING.md requires ContextError for missing context, resolveOrg() or resolveOrgAndProject() from lib/resolve-target.ts for target resolution, and E2E tests under test/e2e/; code style uses TypeScript strict mode, explicit public-API types, JSDoc, and small focused functions.feat/toolkit-bridge-upgrade working tree was based on origin/main and had 4 modified files: packages/cli/src/lib/binary.ts, packages/cli/test/lib/binary.test.ts, packages/cli/test/lib/ghcr.test.ts, and packages/cli/test/lib/install-script.test.ts; the diff contained 232 insertions and 5 deletions.UpgradeSource with readonly githubRepo, ghcrRepo, and tagPrefix, plus ordered UPGRADE_SOURCES: 1. { githubRepo: "getsentry/toolkit", ghcrRepo: "getsentry/toolkit", tagPrefix: "cli@" }; 2. { githubRepo: "getsentry/cli", ghcrRepo: "getsentry/cli", tagPrefix: "" }.PRIMARY_UPGRADE_SOURCE was defined as UPGRADE_SOURCES[0]; getBinaryDownloadUrl(version, source) changed to construct https://github.com/${source.githubRepo}/releases/download/${source.tagPrefix}${version}/${getPlatformBinaryName()}, and getGitHubReleasesUrl(source) constructs https://api.github.com/repos/${source.githubRepo}/releases.resolveUpgradeSource(fetchFn = customFetch, signal?) probes each ordered source at ${getGitHubReleasesUrl(source)}/latest using getGitHubHeaders() and the optional abort signal; it selects the first successful response, falls through only on HTTP 404, aborts on every other HTTP or network failure, and throws UpgradeError("network_error", "No CLI upgrade source was found: every source returned HTTP 404") if all sources return 404.UpgradeSource and its successful Response, so the caller βnever repeats the request.βpackages/cli/test/lib/binary.test.ts added source-resolution tests covering: Toolkit checked before legacy CLI; first source selected immediately on success; legacy selected only after Toolkit HTTP 404; no fallback for HTTP 401, 403, 429, or 500; no fallback after TypeError("fetch failed"); and failure after both sources return HTTP 404. Tests assert the exact probe order https://api.github.com/repos/getsentry/toolkit/releases/latest followed, when applicable, by https://api.github.com/repos/getsentry/cli/releases/latest.packages/cli/test/lib/ghcr.test.ts added checks that getAnonymousToken(UPGRADE_SOURCES[0]) requests scope=repository:getsentry/toolkit:pull and that fetchNightlyManifest("token", undefined, UPGRADE_SOURCES[0]) uses /v2/getsentry/toolkit/manifests/nightly.packages/cli/test/lib/install-script.test.ts added a test extracting the shell assignment UPGRADE_SOURCES=(...) and requiring its repository ordering to equal UPGRADE_SOURCES.map((source) => source.githubRepo).GITHUB_RELEASES_URL: packages/cli/src/lib/upgrade.ts at lines 403 and 562, packages/cli/src/lib/release-notes.ts at line 564, and packages/cli/src/lib/delta-upgrade.ts at lines 124 and 159; packages/cli/src/lib/upgrade.ts also called getBinaryDownloadUrl(version) without an explicit source at line 766.packages/cli/install script still hardcoded getsentry/cli for the GHCR anonymous token, nightly manifest, nightly blob, latest GitHub release, and stable release download URL.packages/cli/install nightly installation uses a 6-step OCI flow: 1. acquire an anonymous GHCR pull token; 2. fetch the nightly OCI manifest; 3. extract the version annotation with awk; 4. find the platform .gz layer digest; 5. obtain the blob redirect URL without using curl -L, preventing the authorization header from being forwarded to Azure Blob Storage; 6. download the redirected blob without authorization and pipe it through gunzip.packages/cli/install stable installation strips a leading v, tries ${url}.gz first because it is approximately 60% smaller (~37 MB versus ~99 MB), and falls back to the raw binary when the compressed asset is unavailable.AGENTS.md defines the agent pipeline as triage β explore β plan β implement β review β ship; worker is a deprecated alias of implement.AGENTS.md assigns models by role: primary heavy triage/plan/review uses Claude Opus 4.8; primary light triage/plan/review uses xAI Grok 4.3; explore uses OpenAI gpt-5-mini; implement uses Moonshot kimi-k2.7-code; and ship uses xAI Grok grok-build-0.1.repo-setup before situation skills..agents/skills/, generated from the canonical skills/ tree by scripts/sync-skills.mjs; however, no .agents path was found in the current worktree at 04:19.