fix(rectification): persist refresh attempts and map collect focus kinds (BUG-656/657/658)
Independent Staging Quality Gate / validate (push) Failing after 13m28s
Independent Staging Quality Gate / publish (push) Skipped

Empty engine refresh now records an already_answered attempt so GET can leave wait-to-narrow; collect kinds map onto the table CHECK; remaining candidates drive probe refresh.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-09-12 06:09:20 +08:00
co-authored by Cursor
parent 2b6d28e7a7
commit eae049d0ea
17 changed files with 747 additions and 62 deletions
@@ -125,6 +125,15 @@ export type RoundTrace = Readonly<{
kind: "informative" | "low_information" | "tie_break";
}>;
export type RefreshAttemptResult = "no_new_probes" | "new_probes";
export type RefreshAttempt = Readonly<{
candidate_set_id: string;
answer_count: number;
result: RefreshAttemptResult;
at: string;
}>;
export type InferenceState = Readonly<{
algorithm_version: typeof INFERENCE_ALGORITHM_VERSION;
candidate_set_id: string;
@@ -145,6 +154,8 @@ export type InferenceState = Readonly<{
holdout_passed?: boolean | null;
refresh_count?: number;
refresh_answer_count?: number;
refresh_attempts?: readonly RefreshAttempt[];
targeted_collect_status?: "asked" | "skipped";
transitions?: readonly Readonly<{
layer: string;
at: string;