feat: 分离 Alpha 检查与提交限制,优化检查统计与前端展示

This commit is contained in:
yuxuanhui
2026-09-12 22:11:11 +08:00
parent 5eb6008ef7
commit 45eb4c3a17
13 changed files with 300 additions and 21 deletions
+7 -4
View File
@@ -7,6 +7,7 @@ from sqlalchemy import select
from ..backtests.service import Backtests, uid
from ..models import Alpha, ResearchEvaluation, ResearchExperiment, SelfCorrelation
from ..platform_checks import split_checks, submission_limits
from .experiments import Experiments
from .serialization import encode_snapshot as jsonable_encoder
@@ -30,13 +31,14 @@ def assess(snapshot, rules):
evidence.append(
{"metric": key, "value": value, "bound": bound, "direction": direction, "status": status}
)
checks = metrics.get("checks") or []
raw_checks = metrics.get("checks") or []
checks, _ = split_checks(raw_checks)
if not checks:
missing.append("platform_checks")
for check in checks:
if check.get("result") == "FAIL":
if isinstance(check, dict) and check.get("result") == "FAIL":
failed.append(f"platform:{check.get('name', 'unknown')}")
unknown_checks = [check for check in checks if check.get("result") not in ("PASS", "FAIL")]
unknown_checks = [check for check in checks if not isinstance(check, dict) or check.get("result") not in ("PASS", "FAIL")]
if unknown_checks:
missing.append("unresolved_platform_checks")
return {
@@ -44,7 +46,8 @@ def assess(snapshot, rules):
"evidence": evidence,
"failed": failed,
"missing": missing,
"existing_platform_checks": checks,
"existing_platform_checks": raw_checks,
"submission_limits": submission_limits(raw_checks),
"meaning": "本地研究筛选结果,不是官方提交资格",
}