Repository navigation
fix: nax timeout no longer cancels runners; add nax salvage - #54
Merged
Merged
Conversation
…session result - timeout keeps remote runner running unless --cancel-on-timeout - timeout paths read session so result, usage, diff state persist - wait deadline governs loop, not stale persisted handle deadline - resume polls a timed-out run whose runner was left running - --timeout-minutes visible on run/run agent
Creates the branch at the session base SHA when missing, refuses running runners, diff-less sessions, and the default branch unless --allow-default-branch.
test(resume): timed-out run left running is polled on resume
…e local wait Skill no longer advises raising --timeout-minutes past 25.
…ot a running runner docs(skills): flow example uses a 25-minute wait
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.
Problem
nax run agentcancelled healthy Netlify runners when its hidden 25-minute--timeout-minutesran out. It also recorded an empty result and never read the session back. A 4,558-credit run with a finished, recoverable diff looked lost. Details:docs/ai/bugs/nax-timeout-cancels-runner-and-drops-result.md.Changes
--cancel-on-timeoutopts back into cancelling, for cost-capped CI..nax/artifacts.raw.timeout.cancelledRunnerrecords what happened.nax run --resumewatches a timed-out run whose runner was left running, rather than resubmitting it (which would bill twice).--timeout-minutesis visible inrun/run agenthelp.--resumeornax salvage).nax salvage --runner <id> [--branch] [--session] [--allow-default-branch]. It creates the branch at the session's base commit if it's missing, commits the diff through Netlify, and waits for the commit. It refuses runners that are still running, sessions with no diff, and the default branch.Session.baseShais now mapped (base_shawas already recognized but dropped). This needs to ship in the SDK 0.4.0 publish before the published nax can create branches insalvage.## Time Limitsection stating the 25-minute agent runner max. It tells the agent to finish well before it and to report partial results if it gets close./Users/davidpath shortening in the prompt modal.Testing
npm test: 1255 pass.tsc: clean. SDK tests: 146 pass.baseShaand the 2,862-char session result.nax salvageagainst a real repo.Follow-ups
nax wait --runnerfor re-waiting on a singlerun agentafter a timeout. The guidance points to the run link, thennax salvage.