CouncilEx.Router behaviour (CouncilEx v0.1.0)

Copy Markdown View Source

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

select(input, t)

@callback select(input :: map(), CouncilEx.Context.t()) :: [member_id :: atom()]