One methodology, one buildable sport: NBA's market is near-perfectly calibrated
Same methodology, per-sport n honest. nba: market ECE=0.006 (n_games=1593), fav_gap=+0.005/dog_gap=-0.001 (favorite-longshot-consistent), comeback~0.015. Not buildable: mlb, soccer, tennis.

How to read this figure
The table has one row per sport; a status of ok carries the metrics, while not_buildable carries the reason it could not be computed.
What it means
The same three-part check (calibration, favorite-vs-longshot bias, comeback rate) is run per sport. NBA passes: market ECE 0.0064, and favorites at 0.60-plus win 0.8997 of the time against a 0.8948 implied price, a gap of just +0.005. MLB, soccer and tennis lacked buckets meeting the n>=30 floor, so they are marked not_buildable rather than guessed.
Caveats and confounds
This is a single-sport result today (NBA only); MLB, soccer and tennis are not_buildable, and tennis has no reliability map at all.