fix(rectification): invite-first collect, holdout at 4 events, Skill 10.0.23 (BUG-646–648)
Stop domain-wheel collecting and age-band years in prompts. Ask until the training gate, then discriminate until convergence, then deliver a range plus a concrete follow-up. Reserve holdout only with four dated events. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -14,6 +14,9 @@ import {
|
||||
rectificationInitialLiveLabel,
|
||||
rectificationQuestionGapState,
|
||||
rectificationQuestionRetryActive,
|
||||
interviewCollectWaiting,
|
||||
interviewStopReasonFromSnapshot,
|
||||
RECTIFICATION_COLLECT_WAITING_PLACEHOLDER,
|
||||
rectificationReadonlyRangeCopy,
|
||||
type RectificationQuestionGapInput,
|
||||
} from "../src/lib/rectification-surface-state.ts";
|
||||
@@ -60,6 +63,34 @@ test("question gap: preparing while retries remain, then unavailable with a relo
|
||||
assert.equal(rectificationQuestionRetryActive("verified_idle"), false);
|
||||
});
|
||||
|
||||
test("question gap: collect waiting is not the unavailable repair path", () => {
|
||||
assert.equal(
|
||||
interviewCollectWaiting({
|
||||
stopReason: "insufficient_dated_events",
|
||||
sessionOutcome: "collect_evidence",
|
||||
questionMissing: true,
|
||||
}),
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
rectificationQuestionGapState({
|
||||
...gapBase,
|
||||
collectWaiting: true,
|
||||
questionLoadFailed: true,
|
||||
retryAttempts: RECTIFICATION_QUESTION_RETRY_LIMIT,
|
||||
}),
|
||||
"collect_waiting",
|
||||
);
|
||||
assert.equal(rectificationQuestionRetryActive("collect_waiting"), false);
|
||||
assert.equal(RECTIFICATION_COLLECT_WAITING_PLACEHOLDER, "再说一件带年月的事");
|
||||
assert.equal(
|
||||
interviewStopReasonFromSnapshot({
|
||||
interview: { stop_reason: "insufficient_domains" },
|
||||
}),
|
||||
"insufficient_domains",
|
||||
);
|
||||
});
|
||||
|
||||
test("question gap: a snapshot that never arrived is a gap the same retries fill", () => {
|
||||
assert.equal(rectificationQuestionGapState({ ...gapBase, snapshotLoaded: false }), "preparing");
|
||||
assert.equal(rectificationQuestionGapState({ ...gapBase, snapshotLoaded: false, retryAttempts: RECTIFICATION_QUESTION_RETRY_LIMIT }), "unavailable");
|
||||
|
||||
Reference in New Issue
Block a user