Skip to content

Serialize duplicate publication items within batches#772

Merged
hxy91819 merged 2 commits into
mainfrom
feature/state-publication-batch-dedupe-hotfix
Jul 22, 2026
Merged

Serialize duplicate publication items within batches#772
hxy91819 merged 2 commits into
mainfrom
feature/state-publication-batch-dedupe-hotfix

Conversation

@hxy91819

Copy link
Copy Markdown
Member

Summary

  • serialize publication events for the same targetRepo#itemNumber across batch commits
  • return the live dashboard and workflow caps to the last safe batch size, 4
  • preserve FIFO eligibility for deferred duplicate-item events
  • record both failed size-8 production signals and the recovery gates in the rollout plan

Root cause

The first size-8 production claim contained two distinct queue events for openclaw/openclaw#108676. Their queue identities and revisions were independent, but both prepared mutations for the same durable record path. Combining those plans in one state commit raised StateMutationConflictError before state was written.

Batch claim admission now selects at most one event for each logical durable item. A later event remains pending and can be selected by the next batch.

The separate failure in run 29890705127 (commit_refs rejection followed by an inner invalid_batch_state_writer_identity) is documented as an independent re-advance gate rather than attributed to this root cause.

Validation

  • fixed Node 24 container: full pnpm run check passed
  • focused unit run: 91 files passed, including the duplicate-item regression and 24-publisher admission coverage
  • local committed-range ClawSweeper review: complete, high confidence, no actionable correctness or security findings

After deployment, the rollout remains at size 4 until a safe live recovery sample proves duplicate-target serialization and deferred consumption. Size 8 will return in a separate reviewed PR only after that gate passes.

@hxy91819
hxy91819 marked this pull request as ready for review July 22, 2026 04:41
@hxy91819
hxy91819 requested a review from a team as a code owner July 22, 2026 04:41
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@clawsweeper

clawsweeper Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper status: review started.

I am starting a fresh review of this pull request: Serialize duplicate publication items within batches 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant