Dashboard › cli › Distillation
6a133f43-e4bf-4b8e-8b33-3b9595d3d66f["lore_tm_v1_SSJu6Li8TpxLk2zrwpu-U7I5sSR0M1VAFhZoN09WoRA","lore_tm_v1_pSEfasxfEleCOQ02Q8EtZcUlPUs1u2a4iXbuWUdmkKs","lore_tm_v1_BY4pTg89epOTVQnKCpSNzctvwuzQ5ShW6MLxIy8ETqw","lore_tm_v1_F1UdIwMd5xaL9L8nNJXXLkBD9xIKF3yMn4dd2RZZmZY","lore_tm_v1_xlQFqTALuxQvZyX1k3Rnm2M9B-d6Op6RIwBei0yyct8","lore_tm_v1_5d_miRRU8v5r-EiwxMhi5wP14PdW__mQtRbtWpVEARM","lore_tm_v1_hT-NSwZcvS_CIMR79_doD8skfz2SmwVJliIrrhcReDw","lore_tm_v1_KBWN3Xuj_luwiqZjNB3NKeZAhtDtxtBcYpgITYkbP8E","lore_tm_v1_L7sbcjHQmJPKcmdQ_KGSCnpBG3gyyE6OxciM5maPdiE"]
Date: Sep 9, 2026
bd065083c and exact head 4094ae9a7, using worktree /home/byk/.local/share/opencode/worktree/0e8c2f3bbe145a3280d6fb6ed900a5121f382cf0/toolkit-bridge-upgrade.githubRepo/ghcrRepo/tagPrefix source ordering.cli@ tags and ignore MCP and prerelease entries; legacy latest-stable discovery retains unprefixed latest tags.PASS, CONCERN, or MUST-FIX, with exact file:line evidence, a deterministic regression for each defect, and a concrete fix.PASS and identify residual risks.MERGE or DO-NOT-MERGE..craft.yml, .git, .github/, .gitignore, .lore.md, .nojekyll, .npmrc, AGENTS.md, apps/, CHANGELOG.md, codemods/, docs/, LICENSE.md, node_modules/, package.json, packages/, pnpm-lock.yaml, pnpm-workspace.yaml, and README.md.AGENTS.md defines the pipeline as triage β explore β plan β implement β review β ship; worker is a deprecated alias of implement.AGENTS.md says long-term project knowledge for this Outpost repository lives in .lore.md when present, and target repositoriesβ AGENTS.md / CONTRIBUTING.md must be read first.repo-setup before situation skills.bd065083c3b82677747b97a6cc7f5cf57532d3bc and head 4094ae9a7670f2bf46898fc7d5b8c7d89cf70819.1933 insertions(+) and 326 deletions(-): .github/workflows/ci.yml, package.json, packages/cli/install, packages/cli/package.json, packages/cli/src/commands/cli/upgrade.ts, packages/cli/src/lib/binary.ts, packages/cli/src/lib/delta-upgrade.ts, packages/cli/src/lib/ghcr.ts, packages/cli/src/lib/release-notes.ts, packages/cli/src/lib/upgrade.ts, packages/cli/src/lib/version-check.ts, packages/cli/test/commands/cli/upgrade.test.ts, packages/cli/test/lib/binary.test.ts, packages/cli/test/lib/delta-upgrade.test.ts, packages/cli/test/lib/ghcr.test.ts, packages/cli/test/lib/install-script.test.ts, packages/cli/test/lib/release-notes.test.ts, packages/cli/test/lib/upgrade.test.ts, and packages/cli/test/lib/version-check.test.ts.4094ae9a7670f2bf46898fc7d5b8c7d89cf70819 on branch feat/toolkit-bridge-upgrade, tracking origin/feat/toolkit-bridge-upgrade; commit subject was feat(cli): add toolkit upgrade bridge.github.token..github/workflows/ci.yml:153-168 obtains a GitHub App token when available; same-repository PRs check out the branch head for generated-file auto-commits, while fork PRs leave ref empty so checkout uses the pull_request merge SHA with github.token..github/workflows/ci.yml:220-248 runs lint, typecheck, dependency/error/patch/stale-reference checks, and the new pnpm run check:upgrade-sources command.package.json:44 defines "check:upgrade-sources": "pnpm --filter sentry run check:upgrade-sources".packages/cli/package.json:87 defines "check:upgrade-sources": "vitest run test/lib/install-script.test.ts -t 'embeds the shared ordered upgrade source list'".packages/cli/package.json identifies package sentry at version 0.45.0-dev.0, requires Node >=20.0, uses development runtime Node >=22.15, and uses pnpm@10.11.0.packages/cli/src/lib/upgrade.ts:97-103 defines ResolvedUpgradeVersion with a prefix-stripped version and the UpgradeSource selected for every subsequent lookup and download.packages/cli/src/lib/upgrade.ts:105-122 defines extractReleaseVersions(): object responses yield their tag_name directly; array responses remove draft/prerelease releases, retain tags starting with source.tagPrefix, and strip that prefix.packages/cli/src/lib/upgrade.ts:158-207 gives stored curl install metadata first priority only when its directory exists, then checks process.execPath against known curl locations, then falls back to the XDG-aware default install directory.packages/cli/src/lib/upgrade.ts:378-420 implements installation detection order: 1. Homebrew via realpath, overriding stale stored information; 2. stored DB install information; 3. legacy detection using curl paths, package-manager subprocesses, then the node_modules path; 4. best-effort persistence through setInstallInfo(), with DB persistence failure logged but not propagated.packages/cli/src/lib/upgrade.ts:433-467 implements GitHub latest-version discovery by calling resolveUpgradeSource() with getGitHubLatestReleaseUrl, parsing and filtering the reused response via extractReleaseVersions(), stripping VERSION_PREFIX_REGEX = /^v/, and returning { version, source }; fetchLatestFromGitHub() preserves the string-returning API.packages/cli/src/lib/upgrade.ts:509-559 implements nightly source resolution: each source is first probed through resolveUpgradeSource({getProbeUrl: getGitHubRepositoryUrl, sources: [source]}), then used for getAnonymousToken(source) and fetchManifest(token, tag, signal, source); repository-not-found and manifest errors whose messages include tag "${tag}": HTTP 404 advance to the next source, while other failures propagate.packages/cli/src/lib/upgrade.ts:561-566 defines isUpgradeSourceNotFound() by checking for an UpgradeError whose message includes "every source returned HTTP 404".packages/cli/src/lib/upgrade.ts:605-637 exposes source-bearing latest resolution through resolveLatestUpgradeVersion() and pinned resolution through resolveExistingUpgradeVersion(); pinned nightly versions use tag nightly-${version}, while stable versions use getGitHubReleaseByTagUrl(version, source).packages/cli/src/lib/upgrade.ts:640-685 checks pinned nightly existence in a selected source via GHCR token plus manifest and returns false only when an UpgradeError message includes HTTP 404; stable selected-source checks call fetchWithUpgradeError(getGitHubReleaseByTagUrl(...)) and return response.ok.