Add structured logging calls to functions in tournament.py, analyze.py, verify_parity.py, eval.py, and lab_forecaster.py that currently lack observability instrumentation.
Motivation
The observability eval dimension scores logging coverage at 18% (43/236 functions). Adding structured logger.info() calls to key entry-point functions in mutable modules increases coverage and log density, making the system more debuggable in production and improving the observability score.
Scope
tournament.py — add structlog logger + log calls to all public functions
analyze.py — add log calls to analysis functions missing them
verify_parity.py — add structlog logger + log calls to all check functions
eval.py — add log calls to save_result, load_previous_results, split_held_out, list_rounds, print_leaderboard_comparison
lab_forecaster.py — add log calls to _parse_probability (failure path) and _extract_probabilities
tests/test_logging_config.py — add test for newly instrumented modules
Add structured logging calls to functions in
tournament.py,analyze.py,verify_parity.py,eval.py, andlab_forecaster.pythat currently lack observability instrumentation.Motivation
The observability eval dimension scores logging coverage at 18% (43/236 functions). Adding structured
logger.info()calls to key entry-point functions in mutable modules increases coverage and log density, making the system more debuggable in production and improving the observability score.Scope
tournament.py— add structlog logger + log calls to all public functionsanalyze.py— add log calls to analysis functions missing themverify_parity.py— add structlog logger + log calls to all check functionseval.py— add log calls tosave_result,load_previous_results,split_held_out,list_rounds,print_leaderboard_comparisonlab_forecaster.py— add log calls to_parse_probability(failure path) and_extract_probabilitiestests/test_logging_config.py— add test for newly instrumented modules