fix: run exact publishers on current main#616
Merged
Conversation
Contributor
Author
|
@clawsweeper review |
Contributor
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
This was referenced Jul 16, 2026
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.
Summary
Repairs queued exact-review publication without reducing the queue's existing
parallel publisher capacity.
publisher from current
mainso repaired publication logic is used.enqueue one fresh exact review instead of attempting a stale target mutation.
amplified shared
clawsweeper-statecontention after the actual reviewpublication had already completed.
Incident evidence
This is deliberately not a claim that #592 was the original incident cause.
openclaw/openclaw#107787's review run29408820027
started at
2026-07-15T10:38:19Z, 26 seconds before feat: serialize exact review publication #592 merged at10:38:45Z. It created the full review comment at10:46:50Z, then itspublisher reported
RoutableSyncPublishRaceErrorwhile committing thedurable result. That prevented the deferred verdict router from applying the
expected target labels. The comment is visible at
#107787 comment 4979684095.
This proves the shared-state publication failure predates feat: serialize exact review publication #592.
publisher out at the artifact's historical
source_sha. A queued artifacttherefore runs code from before later publisher repairs. fix: forward exact review bundle commands #593 corrected the
bundle-command spelling but did not change that historical checkout.
requeue a fresh review instead of applying an artifact that cannot prove the
visible review lease. That behavior cannot help an artifact whose publisher
is still executing a pre-fix: preserve exact review leases and requeue legacy artifacts #612 checkout. A representative failed publisher is
run 29460181512
for issue #574, which
reported that the live durable tuple existed while its local report had no
durable lease identity.
best-effort state write makes the shared-state race worse; it is not required
to publish the verdict or route labels.
Related: #592, #593, #610, #611, #612, #614.
Implementation and safety
The artifact validator still binds the producer SHA and target identity. Only
the implementation checkout changes to
main. Legacy tuple-less artifacts donot receive state/target publication credentials and do not mutate their target;
they dispatch one signed fresh exact review using the existing source-drift
route. Normal exact publication keeps its existing 24-slot capacity and broad
publication stays target-scoped.
This is an immediate repair for historical artifact execution and avoidable
state-write pressure. It does not claim to fully solve the older shared-state
race demonstrated by #107787. A separate bounded state-write critical-section
repair remains warranted.
Validation
Focused proof: 6 passing tests; TypeScript build and workflow YAML parse pass.
Both Codex review passes were clean.
actionlintis not installed on this host.The full workflow suite has five established native-Windows baseline failures
because WSL cannot execute
/bin/bash; the touched tests pass and a LinuxCrabbox build completed.
Risk and rollout
This touches a GitHub Actions workflow, so GitHub App/OAuth workflow scope is
the deployment risk. Roll out by observing the next legacy and current exact
publisher runs: legacy artifacts should complete by requeueing once, while
normal artifacts should publish/routably defer without the extra ledger commit.
No bulk backlog replay is included.