refactor(pool): 移除调度多维评分详情,简化为 reasons 摘要

移除 scheduling_score、candidate_eligible、scheduling_dimensions 等字段,
前后端统一使用 scheduling_reasons 展示调度状态,精简号池列表信息密度。
This commit is contained in:
fawney19
2026-03-04 22:51:02 +08:00
parent b2dcf82ca8
commit 1d04c41ae7
7 changed files with 5 additions and 407 deletions

View File

@@ -40,7 +40,6 @@ def test_summary_available_when_all_dimensions_ok() -> None:
assert summary.candidate_eligible is True
assert summary.blocked_count == 0
assert summary.degraded_count == 0
assert summary.score == 100.0
def test_summary_blocked_when_manual_disabled() -> None:
@@ -51,7 +50,6 @@ def test_summary_blocked_when_manual_disabled() -> None:
assert summary.reason == "manual_disabled"
assert summary.candidate_eligible is False
assert summary.blocked_count >= 1
assert summary.score < 100.0
def test_summary_blocked_when_account_state_blocked() -> None:
@@ -114,7 +112,6 @@ def test_empty_summary_defaults_to_available() -> None:
summary = summarize_pool_scheduling_dimensions([])
assert summary.status == "available"
assert summary.reason == "available"
assert summary.score == 100.0
def test_dimension_result_keeps_degraded_health_details() -> None:

View File

@@ -12,11 +12,6 @@ def test_pool_scheduling_state_manual_disabled_is_blocked() -> None:
reason,
_label,
reasons,
score,
candidate_eligible,
blocked_count,
_degraded_count,
dimensions,
) = _build_pool_scheduling_state(
is_active=False,
account_blocked=False,
@@ -34,11 +29,7 @@ def test_pool_scheduling_state_manual_disabled_is_blocked() -> None:
assert status == "blocked"
assert reason == "manual_disabled"
assert candidate_eligible is False
assert blocked_count >= 1
assert score < 100
assert any(item.code == "manual_disabled" for item in reasons)
assert any(item.code == "manual_disabled" for item in dimensions)
def test_pool_scheduling_state_cooldown_detail_is_mapped() -> None:
@@ -47,11 +38,6 @@ def test_pool_scheduling_state_cooldown_detail_is_mapped() -> None:
reason,
_label,
reasons,
_score,
_candidate_eligible,
_blocked_count,
_degraded_count,
dimensions,
) = _build_pool_scheduling_state(
is_active=True,
account_blocked=False,
@@ -69,9 +55,7 @@ def test_pool_scheduling_state_cooldown_detail_is_mapped() -> None:
assert reason == "cooldown"
cooldown_reason = next(item for item in reasons if item.code == "cooldown")
cooldown_dimension = next(item for item in dimensions if item.code == "cooldown")
assert cooldown_reason.detail == "429 限流"
assert cooldown_dimension.detail == "429 限流"
def test_pool_scheduling_state_cost_soft_is_degraded() -> None:
@@ -80,11 +64,6 @@ def test_pool_scheduling_state_cost_soft_is_degraded() -> None:
reason,
_label,
_reasons,
_score,
candidate_eligible,
blocked_count,
degraded_count,
_dimensions,
) = _build_pool_scheduling_state(
is_active=True,
account_blocked=False,
@@ -102,9 +81,6 @@ def test_pool_scheduling_state_cost_soft_is_degraded() -> None:
assert status == "degraded"
assert reason == "cost_soft"
assert candidate_eligible is True
assert blocked_count == 0
assert degraded_count >= 1
def test_known_banned_reason_account_block_prefix() -> None: