factor_agent.researcher.Researcher.propose#

Researcher.propose(number, directions, context, gate, zoo, retries, parents=None)[source]#

Ask for one candidate per direction and return one Proposal per direction, in order.

Each proposal group’s directions go in a request of their own, all sent at once. A candidate must have its direction’s mechanism type. Every candidate the parser or gate (checking originality against zoo) refuses is sent back with its reasons, all of a group’s in one request, up to retries times; the candidates are checked in slot order once every group’s reply is back. A direction with a parent in parents (a trial’s id, and the trial as _feedback.parent writes it) carries that trial as its parent_trial.