The per-project Modules & Features panel — the hub's control surface.
Level 1: extension enablement (which capabilities this project has) with
per-instance config forms driven by each extension's config_schema.
Level 2: feature flags, grouped by owning extension, with the dependency
matrix rendered disable-and-explain (a flag whose requires are off shows
WHY instead of silently not working). Plus the preset row.
Authorization: mount gates on Authz.can?(scope, project, :manage_modules)
— v1 the admin gate; deepens with members (Step 5). Every event handler
re-checks (events must not trust a stale mount — the standing convention
is mount-gating, but this page WRITES config, so it gets the stricter
shape enforcement threading will roll out module-wide).
Embeddable like every LV in this module: off-router mount reads
session["id"]; no handle_params/3.