Versions and recovery
Versions are immutable
A published version never changes. To change anything (prompts, nodes, files, the window size), publish a new SemVer version. A version number with different content is rejected.
Old runs always point to the version they started with. An upgrade affects only bindings that explicitly switch to the new version.
Upgrade levels
When you upload a new version, SoduWork compares it with the bound version.
| Level | Typical change | What happens |
|---|---|---|
| safe | New nodes that don't break the old contract | Can be upgraded once the pre-check passes |
| review | Prompt or config changes; changes to dependencies, Skills, MCP, secrets or network | Needs a new review and simulation |
| breaking | Removing a node, changing a node's type, removing a required output, changing an input reference, adding a required input | The impact must be reviewed and confirmed explicitly |
Removing an entry point (chat, task or automation) is also breaking. Adding one needs a new review.
When a run fails
The run details sort a failure into one of these groups, each with a next step:
| Group | Typical cause | What to do |
|---|---|---|
| Configuration | Environment, repository or binding is incomplete | Fix it and retry the step |
| Authorization | Missing permission or secret | Fix it and retry the step |
| Infrastructure | Runner offline, timeout, network | Retry the step |
| Contract | A required output is missing or invalid | Redo the business step, as the plugin's policy says |
| Escalation | The AI couldn't reach a clear verdict | A person handles it, instead of spending the same model turn again |
| Quality | Build, test or quality gate failed | Redo the business step |
| Execution | The step itself failed | Retry or fix, depending on the error |
- Only the step that failed can be retried. Earlier failed attempts stay as evidence, without misleading buttons.
- Each retry is a new attempt. Earlier logs, routes, context checksums and evidence are kept.
- When an AI step runs past its time limit, SoduWork tries to stop it, retries it as an infrastructure failure, and keeps the timeout and stop records.
- After you fix configuration, the run continues from the failed step. It doesn't redo the AI work before it.