Speed up rectification scoring without changing results.
Cache work that depends only on the candidate minute, drop unread response fields, and reject windows above 241 candidates before any chart is built. Eleven canonical scenario hashes match 77057a819. Sealed and reported-offset replays match the 2026-10-08 records (changed_trial_count 8 and 581) and are stored as scoring_perf_2026_10_13.
Co-Authored-By: Grok (agent loop)
This commit is contained in:
co-authored by
Grok (agent loop)
parent
74384be024
commit
8e0503f9c0
@@ -412,7 +412,14 @@ class RectificationV5ServicesTest(unittest.TestCase):
|
||||
scored = score_candidates(normalized)
|
||||
diagnostic_result = diagnostics(normalized)
|
||||
self.assertFalse(scored["can_confirm_exact_minute"])
|
||||
self.assertIn("event_contribution_matrix", scored)
|
||||
# 原值: assertIn("event_contribution_matrix", scored)
|
||||
# 新值: 默认 assertNotIn;include_internal=True 时仍在
|
||||
# 原因: BUG-1325,前台没有读取点,默认响应不再带内部矩阵
|
||||
self.assertNotIn("event_contribution_matrix", scored)
|
||||
self.assertNotIn("candidate_decision_receipt", scored)
|
||||
internal = score_candidates(normalized, include_internal=True)
|
||||
self.assertIn("event_contribution_matrix", internal)
|
||||
self.assertIn("candidate_decision_receipt", internal)
|
||||
self.assertEqual(diagnostic_result["diagnostics"]["leave_one_event_out_retention_rate"], 1)
|
||||
self.assertFalse(diagnostic_result["can_confirm_exact_minute"])
|
||||
|
||||
@@ -490,7 +497,10 @@ class RectificationV5ServicesTest(unittest.TestCase):
|
||||
self.assertEqual(candidate["rank"], rank)
|
||||
UUID(candidate["candidate_id"])
|
||||
|
||||
receipt = first["candidate_decision_receipt"]
|
||||
# 原值: first["candidate_decision_receipt"]
|
||||
# 新值: first["decision_receipt"](同一个对象)
|
||||
# 原因: BUG-1325,默认响应不再重复挂回执
|
||||
receipt = first["decision_receipt"]
|
||||
self.assertEqual(receipt["receipt_version"], "candidate-decision-receipt-v2")
|
||||
self.assertTrue(receipt["selection_allowed"])
|
||||
self.assertTrue(receipt["acceptance_allowed"])
|
||||
@@ -592,7 +602,8 @@ class RectificationV5ServicesTest(unittest.TestCase):
|
||||
), patch("scripts.rectification.api_service.run_diagnostics", return_value=diagnostic_values):
|
||||
result = score_candidates(normalized)
|
||||
|
||||
receipt = result["candidate_decision_receipt"]
|
||||
# 原值: result["candidate_decision_receipt"];新值: result["decision_receipt"];原因: BUG-1325
|
||||
receipt = result["decision_receipt"]
|
||||
self.assertFalse(receipt["acceptance_allowed"])
|
||||
self.assertIn("insufficient_domain_diversity", receipt["reasons"])
|
||||
self.assertIn("tied_top_score", receipt["reasons"])
|
||||
@@ -637,7 +648,8 @@ class RectificationV5ServicesTest(unittest.TestCase):
|
||||
), patch("scripts.rectification.api_service.run_diagnostics", return_value=diagnostic_values):
|
||||
result = score_candidates(normalized)
|
||||
|
||||
receipt = result["candidate_decision_receipt"]
|
||||
# 原值: result["candidate_decision_receipt"];新值: result["decision_receipt"];原因: BUG-1325
|
||||
receipt = result["decision_receipt"]
|
||||
self.assertTrue(receipt["acceptance_allowed"])
|
||||
self.assertTrue(receipt["selection_allowed"])
|
||||
self.assertFalse(receipt["confirmation_allowed"])
|
||||
@@ -678,7 +690,8 @@ class RectificationV5ServicesTest(unittest.TestCase):
|
||||
), patch("scripts.rectification.api_service.run_diagnostics", return_value=diagnostic_values):
|
||||
result = score_candidates(normalized)
|
||||
|
||||
receipt = result["candidate_decision_receipt"]
|
||||
# 原值: result["candidate_decision_receipt"];新值: result["decision_receipt"];原因: BUG-1325
|
||||
receipt = result["decision_receipt"]
|
||||
self.assertTrue(result["candidate_decisions"])
|
||||
self.assertFalse(receipt["acceptance_allowed"])
|
||||
self.assertFalse(receipt["gates"]["date_quality"]["passed"])
|
||||
|
||||
Reference in New Issue
Block a user