Library: a no-navigation zone already as asked is left alone #155

Manually merged
vinny merged 0 commits from vinny/zone-noop into master 2026-10-17 19:19:17 -04:00 AGit
Owner

Summary

  • Syncs zones.set_no_navigation from tester bfcbde0.
  • Why: every draw or removal of a no-navigation zone changes CMO's zone list while its simulation reads it. In the lab on 2026-10-17, the provider-socket trial's expert-commander flow drew 39 zones in two hours, 12 of them with the same corners again. CMO met "Collection was modified" in ActiveUnit.IsInsideNoNavZones until its exception fuse tripped (20 exceptions, a warning dialog).
  • Change: the tool now returns unchanged: true and changes nothing when the side's one zone of that name already has the corners (within about a metre), unit types and on/off switch asked. It still turns off no-fire.
  • Flow: the tester's expert commander now refreshes a zone at its stored corners, so a refresh leaves an intact zone alone. That takes effect once the operator imports a new revision.
  • docs/TOOL_LIBRARY.md notes the collision. Evidence follows the library's new adapter revision.

Test plan

  • Tester: tests/test_zone_tool.py covers an unchanged zone with no AddZone/RemoveZone calls and no-fire turned off, a redraw for moved corners, a corner count, the switch and unit types, and a lost zone drawn again. tests/test_expert_commander.py checks that the refresh is drawn where the zone was. The new tests fail on the old code. Full tester suite: 1106 passed.
  • CMOnet: library tests, flow export tests and Lua rule tests with the tester beside it.
  • Background tools/check.py --rev

🤖 Generated with Claude Code

## Summary - Syncs `zones.set_no_navigation` from tester bfcbde0. - **Why:** every draw or removal of a no-navigation zone changes CMO's zone list while its simulation reads it. In the lab on 2026-10-17, the provider-socket trial's expert-commander flow drew 39 zones in two hours, 12 of them with the same corners again. CMO met "Collection was modified" in `ActiveUnit.IsInsideNoNavZones` until its exception fuse tripped (20 exceptions, a warning dialog). - **Change:** the tool now returns `unchanged: true` and changes nothing when the side's one zone of that name already has the corners (within about a metre), unit types and on/off switch asked. It still turns off no-fire. - **Flow:** the tester's expert commander now refreshes a zone at its stored corners, so a refresh leaves an intact zone alone. That takes effect once the operator imports a new revision. - `docs/TOOL_LIBRARY.md` notes the collision. Evidence follows the library's new adapter revision. ## Test plan - [x] Tester: `tests/test_zone_tool.py` covers an unchanged zone with no `AddZone`/`RemoveZone` calls and no-fire turned off, a redraw for moved corners, a corner count, the switch and unit types, and a lost zone drawn again. `tests/test_expert_commander.py` checks that the refresh is drawn where the zone was. The new tests fail on the old code. Full tester suite: 1106 passed. - [x] CMOnet: library tests, flow export tests and Lua rule tests with the tester beside it. - [ ] Background `tools/check.py --rev` 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Synced from tester bfcbde0. Every draw and removal of a zone changes CMO's
zone list while its simulation reads it; in the lab (2026-10-17) the expert
commander's redraws met "Collection was modified" in
ActiveUnit.IsInsideNoNavZones until CMO's exception fuse tripped.
zones.set_no_navigation now returns unchanged true, changing nothing, when
the side's one zone of the name already has the corners, unit types and
switch asked. Evidence follows the library's new adapter revision.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Version 0.7.97 (zone-noop)
Some checks failed
check / check (ubuntu-latest) (push) Has been cancelled
check / check (windows-latest) (push) Has been cancelled
check / check (windows-latest) (pull_request) Has been cancelled
check / check (ubuntu-latest) (pull_request) Has been cancelled
d060f1f0b9
vinny manually merged commit d060f1f0b9 into master 2026-10-17 19:19:17 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
vinny/CMOnet!155
No description provided.