Optional behaviour for adaptive member subsetting.
A council with router MyApp.Router (or router fn input, ctx -> [:m1] end)
consults the router before each round to determine which members participate.
Members not selected appear in the RoundResult with status: :skipped and
metadata: %{reason: :router_excluded}.
Per-round override: round :independent_analysis, router: fn ... end.
Summary
Callbacks
@callback select(input :: map(), CouncilEx.Context.t()) :: [member_id :: atom()]