factor_agent.campaign.Campaign.check#

Campaign.check(ping=False)[source]#

What run would refuse before its first LLM call, found without writing anything or computing a factor.

Each part is checked on its own and every problem is reported at once: each data component (it loads, the stores it reads exist and the price dataset’s columns can be read), the scoring, each role’s backend (it can be built: an unset API key variable is a problem; a backend passed in is not checked), the reference and known factors, the run snapshot (on a resume, files or settings that differ from it are a problem, other code versions a warning), the vocabulary and the templates. The vocabulary needs the price and intraday datasets’ columns and the templates need the vocabulary, the label and the scoring; each is skipped, with the reason, when a part it needs failed. The run directory is only read.

With ping, each distinct backend (roles with the same config share one) is then sent one short request outside the LLM log, and its error is a problem; roles on the replay or scripted backend, with a backend passed in or whose backend cannot be built are not pinged, and say why.

Returns:
CheckReport

One Check per part, in that order; the run can start when its problems is empty.