Autobeat v1.5.2 — RETRY Loop Progress Preservation
Patch release fixing RETRY loop iterations that destroyed accumulated work on exit-condition-not-met results.
Summary
RETRY loop iterations that completed their task successfully but didn't satisfy the exit condition were resetting the working directory via git reset --hard back to the loop start commit — destroying all accumulated progress from prior iterations. This affected orchestrators (rebuilding from scratch each iteration), test coverage loops (losing written tests), and any multi-step retry workflow in a git-tracked repository.
What's Changed Since v1.5.1
- New
progressiteration status for RETRY iterations that made forward progress but didn't satisfy the exit condition — commits work instead of resetting (#163) - Crash recovery (
TaskFailed) now resets topreIterationCommitShainstead ofgitStartCommitSha, preserving progress from prior iterations (#163) consecutiveFailuresnow only tracks actual crashes (TaskFailed), not exit-condition-not-met iterations (#163)- Dashboard UI:
progressstatus displayed with cyan color and circle icon (#163) - Migration v26: recreates
loop_iterationstable with updated CHECK constraint forprogressstatus
Database
- Migration v26: Recreates
loop_iterationswith updated CHECK constraint addingprogressto the status enum. Auto-applied on startup.
Migration Notes
No manual migration required. Migration v26 auto-applies on first startup. No breaking changes — fail status remains valid for TaskFailed events. OPTIMIZE strategy is completely untouched.
Installation
npm install -g autobeat@1.5.2Or use via npx in your Claude MCP config:
{
"mcpServers": {
"autobeat": {
"command": "npx",
"args": ["-y", "autobeat@1.5.2", "mcp", "start"]
}
}
}