Repository navigation
Patch Changes
-
#271
b66598eThanks @lucasbraum! -fixno longer hides an agent session that could not work. When the Anthropic API refuses the request (an invalid key, an empty credit balance, a model the key cannot use), the Agent SDK ends the session after one turn with nothing spent and the API's message; Uptide dropped that message, recorded "made no change" for every site and ran the feedback rounds into the same error. Now the task records the error (llm.tasks[].error, gateerror), no further session starts, and every task that leaves nothing says why inllm.tasks[].noChange: the API's error, no turn, no output, a refusal, a stop, or every edit rejected. When nothing the agent did stayed,report.json(llm.agentIdle), the terminal and the PR body say "The agent did not change anything: ", and the PR body no longer says the code was migrated when every site is still manual. -
#271
b66598eThanks @lucasbraum! - The lockfile check no longer stops an upgrade when the package manager moves an unchanged package's dependency onto the copy the upgrade installs. Upgrading express 4 to 5, pnpm can move another package'sqsoriconv-liteonto the newer copy express 5 brings: the old copy leaves the lockfile, and every package depending on it read as "same version, different resolution", so the run fell back to an agent-led draft. Such a move is now in scope when it stays in the same major (the same minor below 1.0) and never goes back, and the copy it left goes with it when nothing else needs it; the PR body and the terminal list each one as lockfile housekeeping ("onto the upgrade's copy"). A move to a release the upgrade did not bring, a downgrade, a major apart, or a change to what the repository declares itself is still refused. The same applies to npm (a nested copy dropped for the hoisted one) and Yarn Berry (a descriptor that now resolves to the upgrade's copy). -
#273
51d0370Thanks @lucasbraum! -fixandcheckin a checkout whose dependencies are not installed now stop before any analysis withPACKAGE_NOT_INSTALLED(exit 2), name thepackage.jsonthat declares the package, say whether nothing is installed or only that package is missing, and give the frozen install for the lockfile (npm ci,pnpm install --frozen-lockfile,yarn install --frozen-lockfile,yarn install --immutable). Before, anode_modulesin a directory above the project counted as the project's install, so a fresh clone under such a directory got past the check andfixfailed with a misleading "has no upgrade". Uptide still installs nothing in your checkout.check --jsonnow answers every refusal on stdout with{"error": {"code", "message"}}, asfix --jsondoes. When the package is already at or past the target,fixsays " is already at (target )". -
#271
b66598eThanks @lucasbraum! - The PR body titles each group of sites by what changed instead of an internal key: a pack rule's group by the pack's one-line summary of the rule (report.jsonkeeps them asruleSummaries), and sites no rule covers, keyed by the path of the declaration that changed (e.query), by what the compiler said there or by what changed ("e.querywas removed in express 5.3.0").