Tighten state Continue verdict checks
This commit is contained in:
@@ -578,17 +578,21 @@ def _verdict(results: dict[str, Any]) -> dict[str, Any]:
|
||||
base_auc = base_metric.get("continue_auc")
|
||||
plus_mae = plus_metric.get("edge_mae_vs_constant_ratio")
|
||||
base_mae = base_metric.get("edge_mae_vs_constant_ratio")
|
||||
if plus_auc is None or plus_auc < 0.60:
|
||||
auc_ok = plus_auc is not None and plus_auc >= 0.60
|
||||
auc_beats_market_only = base_auc is None or (plus_auc is not None and plus_auc > base_auc)
|
||||
if not auc_ok:
|
||||
reasons.append(f"{side} {split_id} continue_auc below 0.60: {plus_auc}")
|
||||
elif base_auc is not None and plus_auc <= base_auc:
|
||||
if not auc_beats_market_only:
|
||||
reasons.append(f"{side} {split_id} continue_auc not better than market_only: {plus_auc} <= {base_auc}")
|
||||
else:
|
||||
if auc_ok and auc_beats_market_only:
|
||||
passed_checks.append(f"{side} {split_id} continue_auc")
|
||||
if plus_mae is None or plus_mae > 0.97:
|
||||
mae_ok = plus_mae is not None and plus_mae <= 0.97
|
||||
mae_beats_market_only = base_mae is None or (plus_mae is not None and plus_mae < base_mae)
|
||||
if not mae_ok:
|
||||
reasons.append(f"{side} {split_id} edge_mae_vs_constant_ratio above 0.97: {plus_mae}")
|
||||
elif base_mae is not None and plus_mae >= base_mae:
|
||||
if not mae_beats_market_only:
|
||||
reasons.append(f"{side} {split_id} edge_mae_vs_constant_ratio not better than market_only: {plus_mae} >= {base_mae}")
|
||||
else:
|
||||
if mae_ok and mae_beats_market_only:
|
||||
passed_checks.append(f"{side} {split_id} edge_mae_vs_constant_ratio")
|
||||
return {
|
||||
"status": "PASS_TO_FORMAL_CHAIN" if not reasons else "NOT_READY_FOR_FORMAL_CHAIN",
|
||||
|
||||
Reference in New Issue
Block a user