Repository navigation
Record no bridge step for a call that changed nothing, and replace the default cordon - #1378
Merged
Merged
Conversation
saworbit
enabled auto-merge (squash)
October 21, 2026 00:15
This was referenced Oct 21, 2026
This was referenced Oct 21, 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.
Two agent bridge fixes in the dispatcher and its tools.
#1365: a call that changed nothing still recorded a step.
_run_mutationandhf_batchalways committed, so Move to Floor on a brush already on the floor leftMCP: move to floor, moved the revision, andhf_undothen undid nothing.HFUndoHelper.commit_completed_if_changed()compares the level after the call with the capture from before, the same compare the dock'scommit_if_changed()makes ([Undo] Record no step for a command that changes nothing #1303). Equal means no step and no history entry.commit_completed()shares_register_completed()with it and is unchanged._commit()returns whether it recorded a step, and also compares the cordons for the cordon-only tools. On no change the answer carriesno_change: trueandchanged: [], the revision stays, and the agent's undo chain still ends at its last real step, whichhf_undotakes back next.no_changewith no step and the same level. The spec's known limitation 11, the Agent Bridge page, the MCP README and the catalogue descriptions say so.#1367: a first cordon on a new level left the default one on. Without an index,
hf_set_cordonwith a place now reuses index 0 when the level holds only the untouched default: one cordon, atLevelRoot.DEFAULT_CORDON_AABB, unnamed, its own switch on. The answer saysreplaced_default. A moved, named or switched-off cordon is kept and a new one added. The dock's Set from Selection already writes index 0.Tests: no-op command, no-op batch and no-op cordon set record no step; two
commit_completed_if_changedunit tests; fresh-level cordon replaces the default and undo brings it back; an edited default is kept. Bake and batch tests rewritten to the new contract. Vibe: a no-opreset_rotationincommands, the fresh level incordons. Local: test_mcp (20 scripts, 358), test_undo (57), test_cordon (22), test_scoped_undo_step (72), pytest 110, ruff, CI lint, script warnings, all green.Fixes #1365
Fixes #1367