Repository navigation
Version Packages - #235
Merged
Merged
Version Packages#235
Conversation
uptide-release
Bot
force-pushed
the
changeset-release/main
branch
4 times, most recently
from
October 18, 2026 20:04
a4fc2c8 to
130e989
Compare
uptide-release
Bot
force-pushed
the
changeset-release/main
branch
from
October 18, 2026 21:22
130e989 to
95ca371
Compare
lucasbraum
added a commit
that referenced
this pull request
Oct 18, 2026
Setup PRs now pin Action v0.16.0 (63b7c9b). Same shape as #216: pin, pin test, golden workflows, patch changeset. **Pin checked** - `v0.16.0` is a lightweight tag on `63b7c9b88838312a8b3965c87cbdc55702306d98` (Version Packages #235), and the GitHub release targets that commit. - npm `uptide@0.16.0` has SLSA provenance from `.github/workflows/release.yml` on `refs/heads/main`, source commit `63b7c9b88838312a8b3965c87cbdc55702306d98`. **Agent SDK at that sha** (0.16.0 defaults to `--agent sdk`) - `scripts/action-setup.sh` runs `pnpm install --frozen-lockfile --ignore-scripts` from the Action's own lockfile, where `@anthropic-ai/claude-agent-sdk@0.3.296` is in the `uptide` importer, with per-platform binaries (including `linux-x64` and `linux-x64-musl`) as optional deps. `scripts/action-sdk.mjs` then fails setup if the SDK or this runner's binary is missing. - I ran `action-setup.sh` on a clean `git archive` of 63b7c9b (no `.git`, like the runner's copy). It installed, built, printed `0.16.0` and `Agent SDK ready: @anthropic-ai/claude-agent-sdk-darwin-arm64/claude`. That ran on darwin-arm64, not on a Linux runner. - The workflow template still passes `anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}`, which `action.yml` at 63b7c9b requires (in every golden workflow). **Checks:** lint (1 warning, 1 info, no errors), typecheck, `pnpm build`, core tests (2307 passed, 32 skipped), cli tests (536 passed), and `actions.network.test.ts` with `UPTIDE_NETWORK=1` (6 passed). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Signed-off-by: Lucas Braum <lucasbraum@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
uptide@0.16.0
Minor Changes
#237
717468aThanks @lucasbraum! -npx uptide fixgets the Agent SDK executor. The package stays as small as before:@anthropic-ai/claude-agent-sdkis not installed with Uptide. An SDK installed next to Uptide is used as it is; otherwise the firstfixthat needs it installs the version Uptide is tested with into Uptide's cache (~/.cache/uptide/agent-sdk/<version>), says so in one line with its size, and later runs reuse it. When that install fails (offline, a proxy) or the SDK cannot run,fixruns the patch executor and says so on the first line of its output and at the top of the PR body, with the reason and how to get the SDK executor.report.jsonrecordsllm.executorand, after a fallback, the reason inllm.sdkMissing. The privacy notice names the SDK only when the SDK will run, and the LLM line names the executor.--agent sdkwithout a usable SDK stops before any work instead of failing mid-run.#239
e1e8c40Thanks @lucasbraum! -uptide fixruns only with the Claude Agent SDK; if it can't, it doesn't run. Before the first download, an interactive terminal asks once:uptide fix needs the Claude Agent SDK (about 300 MB, downloaded once to <cache>). Download now? [Y/n](default yes). With--yes, or without a terminal, it downloads and says so in one line. Once cached, it never asks again. Answeringn, an SDK that can't be fetched or loaded (offline, a proxy, no binary for the platform), a missingANTHROPIC_API_KEY, another provider, orllm.enabled: false/executor: patchinuptide.ymlall stopfixwith exit 2 before any clone or spending. The run prints one message with the reason and the fix, and--jsonreturns it aserror.code: "SDK_UNAVAILABLE". There is no fallback to the patch executor anywhere: the Uptide Action stops the run with the same message.--no-llm,--agentand--providerare gone from help and docs.llm.sdkMissingis gone fromreport.json, anduptide initno longer writesexecutor.Patch Changes
#236
9b35b9dThanks @lucasbraum! - A repository build that fails on the final head is no longer published as a ready PR. When it fails,fixbuilds the parent commit in the same clone to compare. If the parent fails too, the build line says "already failing before this upgrade" and nothing is blocked. If the parent passes, the upgrade broke the build: verification fails, and the PR opens only as a draft with "Build broken by this upgrade" at the top. If the parent can't be checked out, installed or built, verification still fails and the PR says "Build fails on this upgrade; the parent build could not be checked" with the reason, never that the parent passed. The GitHub Action opens these runs as draft PRs, the same way it opens agent-led runs. The head build also skips workspaces already built on that head, so a workspace whose output a consumer reads is no longer built twice.#233
1ad8071Thanks @lucasbraum! - The PR description's build check now gives the build's actual result: passed, failed with its first error, or not run and why. When a migration pack doesn't require a build,fixstill runs the repository's build once on the final head, anduptide verifyruns it again, and reports what happened. "Not required by the pack" now appears next to that result instead of replacing it. Before, the line read "build not required" even when the repository's build failed. A build the pack doesn't require still doesn't block verification or publishing.#238
6f07d3fThanks @lucasbraum! - An SDK session's edits are no longer thrown away because of one flaky test. Before the gate rejects a session on test failures, it runs the failing test files once more, alone, with their runner and the same isolation as the full run. A file that passes then is recorded as flaky (llm.tasks[].flakyinreport.json, and a line in the PR body's review list) and the edits stay. A file that fails twice still rejects them, and a failure that names no test file (a build, a timeout) is never rerun. Final verification keeps its full gate: it runs the flaky files again, and if one fails there, verification fails and the PR body says so.fixalso stops starting verification feedback sessions when what is left of--max-costis below the mean cost of the run's sessions so far, so it no longer starts a session it can't afford; the PR's feedback line says when this happened.#234
066deabThanks @lucasbraum! -fixon npm no longer loses a package the repo imports without declaring it when the ERESOLVE retry re-resolves the lockfile. If the retry drops such a package from the top ofnode_modules, it runs again keeping that package and the locked packages that require it at their old versions; if that conflicts, the first retry stands. Either way the summary and the PR body name the package under "Imported but not declared" and suggest adding it to package.json.fixnever adds it for you.