Fix stale exact-review publication retry loop#849
Conversation
|
@clawsweeper review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: Fix stale exact-review publication retry loop This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
|
this PR is fixing a problem caused by #836 |
Summary
Treat an exact-review publication queue response marked
superseded: trueas a successful handoff rather than a failed workflow step.Problem
During the CSW-059 monitor, openclaw/openclaw#111368 repeatedly completed review generation but its publication enqueue returned
ok: true,deduped: true, andsuperseded: true(publication revision 9 superseded by revision 12). The workflow then exited non-zero, so the review queue retried the same stale handoff instead of allowing the queue's newer durable publication to own delivery.Implementation
Validation
pnpm run build:allpnpm exec node --test --test-name-pattern "exact event review hands immutable artifacts to the queue-bounded publisher lane|exact review publication enqueue accepts a superseded acknowledgement" test/sweep-workflow.test.tspnpm exec oxfmt --check .github/workflows/sweep.yml test/sweep-workflow.test.tsgit diff --checkThe broader workflow test file has pre-existing Windows-host failures because Bash-dependent tests invoke the
docker-desktopWSL distribution, which has no/bin/bash; the focused affected tests pass.Review closeout
codex review --uncommittedfound two workflow/test issues; both were fixed, then focused proof was rerun and the dirty review completed cleanly.codex review --base origin/maincompleted with no actionable findings.Risk and rollout
This only changes handling of an explicit stale-publication acknowledgement. It does not publish stale output or suppress actual enqueue failures. Delivery still depends on the newer durable publication referenced by the queue response.
Related: CSW-059 monitoring; distinct from the #846 durable-tuple repair and CSW-058 stale-head/422 monitoring.