| Rule | Description | Triggered |
|---|
SCHEMA_KEYS_PRESENT | All required top-level sections exist in the artifact. | ok |
LINEUP_ELEVEN | Each side fields exactly 11 starters. | ok |
FORMATION_VALID | Formation string parses and its outfield lines sum to 10. | ok |
POSSESSION_SUMS_100 | Estimated possession of both teams sums to ~100%. | ok |
TEAM_GOALS_SUM | Players' projected integer goals sum to the team's headline score. | ok |
TEAM_TOTALS_SCORE_MATCH | team_totals.projected_goals equals the headline score component. | ok |
TEAM_EG_LAMBDA_MATCH | team_totals.expected_goals matches the team's Poisson lambda. | ok |
PLAYER_STAT_REALISM | Projected player lines are internally consistent (xG<=shots, accurate<=total passes, minutes/rating in range). | ok |
EXACTLY_ONE_GOALKEEPER | Each starting XI fields exactly one goalkeeper. | ok |
SHOT_MATH_INTEGRITY | Shot components are physically consistent (on target <= total, on+off <= total; blocked shots cannot be negative). | ok |
PLAYER_MINUTES_LEAGUE_CAP | No player projects more minutes than the competition clock allows (90 + stoppage, or extra time in cups). | ok |
TEAM_SHOTS_CAP | Team projected shots stay inside the realistic historical envelope (~35). | ok |
OUTCOME_SUMS_ONE | home_win + draw + away_win sums to 1. | ok |
MARKETS_COMPLEMENTARY | Over/Under and BTTS pairs each sum to 1. | ok |
GRID_SUMS_ONE | The scoreline probability grid sums to ~1. | ok |
SCORELINE_PROBS_NONNEG | Every scoreline probability is a valid [0,1] value. | ok |
GRID_REPRODUCIBLE | The reported scoreline grid is reproducible from the lambdas. | ok |
MOST_LIKELY_IS_MODE | The headline most-likely score is the distribution's modal scoreline. | ok |
MLS_PROBABILITY_MATCHES | most_likely_score_probability equals the grid value of that score. | ok |
OUTCOME_MATCHES_GRID | The reported win/draw/loss split is derivable from the grid. | ok |
MARKETS_MATCH_GRID | The reported Over/Under and BTTS are derivable from the grid. | ok |
WINNER_MATCHES_SCORE | predicted_winner agrees with the headline score direction. | ok |
WINNER_PROBABILITY_DIRECTION | predicted_winner is the team with the higher win probability. | ok |
WINNER_IS_VALID_TEAM | predicted_winner names a participating team (or Draw). | ok |
MODAL_OUTCOME_IS_DRAW | Draw is the single largest outcome bucket while a team is named. | ok |
LAMBDA_BOUNDS | Both lambdas fall inside the engine's [0.55, 5.00] envelope. | ok |
LAMBDA_CONSISTENCY | The lambda is identical across prediction / antagonist / lambda_factors. | ok |
LAMBDA_FACTORS_PRESENT | The lambda_factors decomposition (audit trail) is present. | ok |
CALIBRATION_SCALE_BOUNDS | competition_calibration_scale stays within [0.85, 1.35]. | ok |
CALIBRATION_RECORDED | When calibration ran, the pre-calibration lambdas are recorded. | ok |
STANDING_AVAILABLE | League-standing context is available for a domestic fixture. | ok |
RANKING_PROVENANCE | Player ranking/quality signals carry a recognised source. | ok |
DATA_DEPTH | Starters have enough recent games to model rather than synthesise. | ok |
FBREF_PRIORS_ACTIVE | FBref season-prior files exist so that branch is not silently inert. | ok |
XGBOOST_REASONING_PRESENT | Match-level xgboost_reasoning payload is present with full tracing pipeline. | ok |
XGBOOST_PLAYER_REASONING | Starters have xgboost_reasoning metadata tracking feature contributions and FBref priors. | ok |
LAMBDA_REASONING_CONSISTENCY | Lambdas reported in xgboost_reasoning match the final Poisson lambdas. | ok |
PREGAME_DIRECTION_AGREES | The pregame fair-line favorite agrees with the model winner. | ok |
PREGAME_TOTAL_CONSISTENT | The pregame expected total is close to the sum of the lambdas. | ok |
RESULT_WINNER_HIT | The predicted winner matched the real result. | ok |
RESULT_EXACT_SCORE_HIT | The headline score matched the real scoreline exactly. | ok |
RESULT_OU_HIT | The Over/Under 2.5 lean matched reality. | ok |
RESULT_BTTS_HIT | The BTTS lean matched reality. | ok |
RESULT_CONFIDENT_MISS | A high-confidence prediction did not reach the real outcome. | ok |
OUTCOME_BRIER | Brier score of the win/draw/loss probabilities vs the real result. | ok |