Array-shape commit flow shared by CngxMultiSelect and CngxCombobox.
Owns commit-controller lifecycle, reconciliation via
sameArrayContents, togglingOption.set(null) on success and at
beginClear entry, optimistic rollback on error, live-region "removed"
announce on a successful clear and the announceError hook on failure.
Consumer owns change-event payloads via the finalize callbacks.
No scalar twin: this handler is array-only by design.