Normandy.Behaviours.Config
(normandy v1.2.0)
View Source
Explicit, per-agent selection of the pluggable behaviours.
One {module, opts} ref per behaviour plus the two first-class hook lists.
Carried on BaseAgentConfig.behaviours; defaults to the all-defaults bundle,
so the "everything off" path is observably identical to today.
to_pipeline/1 adapts the dispatch-path slots (policy, budget,
before_hooks, after_hooks) into a %Normandy.Agents.Dispatch.Pipeline{}.
Building it here (not on Dispatch) keeps the Phase 1 chokepoint untouched —
the dependency points Phase 2 → Phase 1. The credential, compactor,
model_catalog, session_store, and session_registry slots are not
dispatch-path concerns and are not placed on the pipeline. compactor selects
the :steering-boundary compaction strategy (Phase 5); session_store
selects where session entries / turn state persist; it is wired here but not
yet consumed by the turn loop (Phase 4 reads it).
Summary
Functions
Builds a %Dispatch.Pipeline{} from the dispatch-path slots of the bundle.
Types
Functions
@spec to_pipeline(t() | nil) :: Normandy.Agents.Dispatch.Pipeline.t()
Builds a %Dispatch.Pipeline{} from the dispatch-path slots of the bundle.
nil resolves to the default bundle. execute_fn is set to the bare executor
(matching Dispatch.default_pipeline/0); callers that need telemetry (e.g.
BaseAgent) override execute_fn after building.