Independent review round 2 returned BLOCKED on two findings, both correct.
- The helper's bound was dead code to the suite. searchLibraryBrowseItems had
zero tests, so deleting its clamp OR its gate left the whole suite green —
while the registry note claimed a caller "cannot skip the bound". That is the
previous round's finding relocated, not removed. It now has the three tests
its sibling searchLibraryPickerOptions already had (clamp, gate, compile),
plus one pinning the full-row return that is its reason to exist.
- The screen kept a second copy of the min-query check, and the two masked each
other: the 1-character boundary test passed with EITHER gate alone, so it
pinned nothing. The screen's copy is deleted; the helper is the sole gate.
Measured before/after: with the duplicate present, removing the helper's gate
left that test green; with it gone, the same removal reddens it.
- §3b contradicted itself two lines apart — the parent still said "there is no
truncation, so there is no truncation hint" above a sub-bullet mandating one.
Reworded so a hint is permitted, required only where bulk selection makes the
count actionable. Same correction to the 'search-bounded' definition.
- A failed search left results/totalMatches stale, rendering a confident
"Showing 75 of 60000 matches" beside the error banner. The catch clears them.
- Results now carry a `Results for "<query>"` heading and the guidance is keyed
to the settled query, not the live input, so rows are never shown without
saying which search produced them. `selected` persists across queries (correct
for a multi-select picker); the Add button's count keeps it discoverable.
- The hint sums pre-filter totalCount against post-filter rows, which is only
correct because every filterable kind is addable. MediaKindFilter is now
derived from ADDABLE_TYPE_LIST, making that a compile error rather than prose.
- aria-live on the hint; the #740 doc caveat no longer overstates the typeahead
rule as a mandate this screen violates.
Declined: the NaN pageSize edge (copied faithfully from the sibling helper) and
the registry's same-identity substitution gap (already disclosed in that file).
refs #740