feat(#93): IMP-55 u1~u12 frontend manual section swap detection (manual_section_assignment bool axis + drag-only marker gate + dual-axis persistence + backend manual-true gate)
Multi-MDX Regression (IMP-91) / multi-mdx-regression (push) Failing after 9s

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
kmlee1andClaude Opus 4.7 committed 2026-05-25 08:27:09 +09:00
1 parent 9062931863
commit 4e281a20d8
13 files changed
+834 -52

No files matched your search

+14 -2
View File
@@ -8262,8 +8262,20 @@ if __name__ == "__main__":
except (TypeError, ValueError):
continue
overrides_geoms = _accepted
# zone_sections — CLI empty → fill from file (dict[str, list[str]]).
if not overrides_section_assignments:
# zone_sections — CLI empty AND persisted manual_section_assignment is
# exactly True → fill from file (dict[str, list[str]]). IMP-55 (#93) u9
# marker gate (fail-closed) : ``manual_section_assignment`` absent /
# False / non-bool (string/int/list/dict) all skip the fallback so a
# stale ``zone_sections`` axis left on disk from a prior drag cannot
# smuggle ``--override-section-assignment`` into the next run after the
# user reset intent via layout apply/cancel (u5 / u12 write
# ``manual_section_assignment: false`` explicitly). CLI
# ``--override-section-assignment`` payloads remain authoritative
# (u11 truth-table) — this gate only affects the file→fallback path.
if (
not overrides_section_assignments
and _persisted.get("manual_section_assignment") is True
):
_file_sections = _persisted.get("zone_sections")
if isinstance(_file_sections, dict):
_accepted_sec: dict[str, list[str]] = {}