diff --git a/bluesky_adaptive/adjudicators/README-ADJUDICATORS.md b/bluesky_adaptive/adjudicators/README-ADJUDICATORS.md index cdb1f38..336f99d 100644 --- a/bluesky_adaptive/adjudicators/README-ADJUDICATORS.md +++ b/bluesky_adaptive/adjudicators/README-ADJUDICATORS.md @@ -1,6 +1,6 @@ # Adjudicators -The purpose of an adjudicator is to provide another layer of misdirection between the agents and the RunEngine Manager. +The purpose of an adjudicator is to provide another layer of indirection between the agents and the RunEngine Manager. This is not required, as agents can send plans directly to the queue. Alternatively, many agents can send plans to an adjudicator that acts as a meta-agent, filtering and deciding which plans from many agents make it to the queue. In this way, the adjudicator acts as an extra experiment manager. diff --git a/bluesky_adaptive/adjudicators/base.py b/bluesky_adaptive/adjudicators/base.py index d8c5da9..ff62be7 100644 --- a/bluesky_adaptive/adjudicators/base.py +++ b/bluesky_adaptive/adjudicators/base.py @@ -194,7 +194,11 @@ class NonredundantAdjudicator(AdjudicatorBase): Dictionary of objects to manage communication with Queue Server. These should be keyed by the beamline TLA expected in AdjudicatorMsg.suggestions dictionary. hash_suggestion : Callable - Function that takes the tla and Suggestion object, and returns a hashable object. + Function that takes the tla and Suggestion object, and returns a hashable object as :: + + def hash_suggestion(tla: str, suggestion: Suggestion) -> Hashable: ... + + This hashable object will be used to check redundancy in a set. Examples