fix(dashboard): consolidate duplicate Profiles archetype filter
What
The Profiles view had two archetype dropdowns for the same concept, which confused users:
#enablement-archetype-filter("Any Archetype") in the gap-filter bar. The broader control: it filters the Gaps table, the enablement Groups, and the Profiles table.#archetype-filter("All Archetypes") in the profiles toolbar. Profiles-only.
This consolidates to ONE archetype control. The toolbar #archetype-filter is removed; #enablement-archetype-filter is now the single archetype filter for the Profiles table.
How the Adoption to Profiles cross-filter is preserved
Clicking an archetype on the Adoption view (heatmap row or cell, or a distribution bar) still switches to the Profiles tab and filters by that archetype. Those handlers previously set #archetype-filter; they now drive the surviving #enablement-archetype-filter instead (set .value, dispatch change). The control's existing change listener sets state.enablementArchetypeFilter and re-renders the Profiles table, so the cross-filter behavior is unchanged from the user's point of view.
Cleanup
Removed the now-dead wiring tied to #archetype-filter:
06-profiles.jsfilterProfileRows: dropped the#archetype-filterread; the table filters solely bystate.enablementArchetypeFilter. Search box and strong/weak/min-delta filters untouched.10-ui.js: dropped theinitProfilesFilterchange listener, theupdateFilterActiveStatespair plusprofilesArchElread, theupdateEnablementMatchCounttoolbar read, and the clear-filters reset. The search-box wiring stays; match-count and active-state indicators now run on the surviving filter plus the search box.
Tests
TestRender_SingleArchetypeFilter (committed, fail-on-old): index.html has exactly one archetype <select> and the #archetype-filter id is gone; the bundle has no getElementById('archetype-filter') / "archetype-filter"; the Adoption cross-filter references enablement-archetype-filter.
Validation: make check (no-race vet plus test) passes, -race suite passes, golangci-lint 0 issues, coverage 69.9 percent.