garak/harnesses/probewise.py defines ProbewiseHarness, which executes probes one at a time in sorted name order and selects detectors based on each probe's own recommendations.[1]
At the start of a run, ProbewiseHarness.run() prints the sorted probe queue to the console and passes announce_probe=False to super().run() to avoid duplicate announcement messages.[1]
ProbewiseHarness.run() resolves detectors per probe with this priority: (1) primary_detector alone; (2) primary_detector plus extended_detectors when _config.plugins.extended_detectors is True; (3) fallback to recommended_detector with a deprecation notice.[1] The recommended_detector fallback path has been deprecated since version 0.9.0.6; any probe that still uses recommended_detector instead of primary_detector triggers a deprecation notice at runtime.[1] extended_detectors are supplementary detectors that run alongside primary_detector when _config.plugins.extended_detectors is True, providing broader or more specialized coverage at the cost of additional processing per probe.
ProbewiseHarness._load_detector() calls the plugin loader with break_on_fail=False, so a failed detector load prints a warning and returns False rather than raising an exception, allowing the probe run to continue.[1]
Sources