Independent review of the quick-add range surfaced real holes:
- The emptyLabel guard suppressed creation for any name that happened
to be a substring of the label — typing "Rent" in the parent picker
(a substring of "No parent (root)") silently offered nothing. The
guard is gone; the exact-match rule already suppresses creates when
the full label is typed.
- Async creates resolved against click-time snapshots, so a checkbox
toggled or chip removed during the server round trip was silently
reverted. Consumers now apply functional updates or a latest-value
ref.
- Created names are capped at 200 characters, matching the registry
forms; over-long text fails inline instead of minting a permanent
multi-kilobyte name.
- A create failing after the user blurred mid-flight reopens the list
so the error is never invisible, and option rows are locked while a
create is in flight so a race cannot override an explicit pick.