fix(web): drive rectification from candidate contrast and allow range close
Independent Staging Quality Gate / validate (push) Successful in 11m17s
Independent Staging Quality Gate / publish (push) Failing after 9m28s

Showing a choice card is no longer treated as completion. Distinguish probes
require real candidate groups, holdout stays out of scoring, and ordinary
sessions can finish with a credible range instead of an exact-minute gate.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-08-26 17:19:26 +08:00
co-authored by Cursor
parent 7718317d69
commit a0ce55f066
51 changed files with 3720 additions and 714 deletions
+5 -1
View File
@@ -47,7 +47,11 @@ def score_candidates(request: RectificationRequest) -> dict[str, Any]:
diagnostic_values = run_diagnostics(scoring_request, rows, built)
fingerprint = sha256(request)
result_id = str(uuid5(NAMESPACE_URL, f"{ALGORITHM_VERSION}:{fingerprint}"))
candidate_decisions = build_candidate_decisions(rows, result_id=result_id)
candidate_decisions = build_candidate_decisions(
rows,
result_id=result_id,
static_contexts=built.get("static_contexts") if isinstance(built.get("static_contexts"), list) else None,
)
decision_receipt = build_decision_receipt(request, candidate_decisions, built, diagnostic_values)
execution_ledger = build_execution_ledger(request, built, diagnostic_values, candidate_decisions)
representative = candidate_decisions[0] if candidate_decisions else None