The two URL-matching policies [cngxTabsRouteSync] ships, dispatched
on CngxTabUrlMatchContext.mode. Same exact-versus-prefix
distinction routerLinkActive draws.
Pure: no injection context, no signal reads. The directive resolves the
mode cascade and the tab registry, then hands both in.