You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Redis status update can overwrite a concurrently committed task spec edit #352
UpdateTaskStatus reads the whole task and later writes the whole record using SET without checking its version. A task edit committed between that GET and SET is silently overwritten.
Reproduction
Save image:v1 with suspend=false. After UpdateTaskStatus reads its snapshot, commit image:v2 and suspend=true through a separate Redis client. Then let the status write complete.
Observed behavior
Both operations return success, but the stored spec is image:v1 and suspend=false. The committed edit has been lost.
Expected behavior
Updating status must preserve concurrent spec edits, using an atomic field update or optimistic concurrency with retry.
git clone --branch test/review-regressions https://github.com/fkautz/ax.git ax-review
cd ax-review
git checkout 1dc2613d29e12f306154a7e1183c1825a55d24ed
go test ./internal/store/redis -run '^TestReviewStatusUpdatePreservesConcurrentSpecEdit$' -count=1 -v
Requires the Go toolchain specified by go.mod and redis-server on PATH. The test asserts the desired behavior and fails on the published revision. Production code is unchanged.
The test uses a real isolated Redis server. A client hook commits the edit immediately after the status writer reads its snapshot, establishing the interleaving deterministically without timing races.
Fix ready: implemented on my fork (branch fix/352-status-update-lost-update, regression test included, make test green) and ready to PR — but this repo's collaborators_only PR creation policy rejects PRs from non-collaborators (see #358), so I cannot open it. If PR creation opens for external contributors, I will open the PR immediately. Happy to adjust scope per maintainer feedback.
Activity
arbazkhan971 commentedon Sep 22, 2026
Fix ready: implemented on my fork (branch
fix/352-status-update-lost-update, regression test included,make testgreen) and ready to PR — but this repo'scollaborators_onlyPR creation policy rejects PRs from non-collaborators (see #358), so I cannot open it. If PR creation opens for external contributors, I will open the PR immediately. Happy to adjust scope per maintainer feedback.Rename project to Agent Executor (google#352)