Repository navigation
Compare and set the tick size writer and group release on the ledger server - #9656
Merged
Merged
Conversation
…he ledger server Refs #9612 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…server The size writer sends its expected fields as the task_update if_match guard and raises a revision conflict when the ledger kept a concurrent value. The group release sends the members it read as an if_match on task_ungroup, which the ledger now accepts and refuses when the lead's members moved. Refs #9612 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t field as empty Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t type mutant Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # tests/swarm/tick_scenarios/goldens.json
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.
Closes #9612
What changes
scripts.tick.steps.tasks._write_task): sends the fields it expects (difficulty: "") as thetask_updateif_matchguard, so the ledger server compares and sets in one apply. A guarded silent skip is detected by comparing the returned task with the written values and raisesRevisionConflict._release_group): always sends the members it read as thetask_ungroupif_matchguard (empty list when none were expected).task_ungroup(scripts.swarm_ledger.ledger_groups): acceptsif_matchholding onlygroup_members(a list of task ids) and refuses the release when the lead's members moved. Schema field added;LedgerClient.ungroup_tasksforwards the guard.if_match: {difficulty: ""}._write_task: a two field silent skip test pins the joined field list; thecasttype argument mutant is cleared (runtime no-op).ledger_client(433 to 428) andledger_groups(119 to 92).Evidence
DID NOT RAISE RevisionConflict; ungroup refusedif_match). https://github.com/the-cloud-clockwork/agentihooks/actions/runs/41758087010_write_tasksurvivors, fixed in 570295f; mutation preflight 41788429568 on that head green. https://github.com/the-cloud-clockwork/agentihooks/actions/runs/41788429568kepttochanged, new refusal assertions use exact equality).🤖 Generated with Claude Code
Parent intent
Project: the ledger, quota routing and herdr: durable Claude and Codex messaging, seats, intent, work beyond code, swarm health.
Phase :
Task t2374, Tick size writer and group release compare and set through the server guard: Master spec from an engineer follow up. Parent: tick writes to task size and grouping never overwrite a concurrent change. Seam: the tick size writer and the group release use the new ledger server guard, so both compare and set on the server, and the ungroup operation honours the same guard. Red then green in CI with a planted concurrent write. Done when merged.