fix(rectification): stop speaking unstampable distinguish stems (BUG-674/675)
Distinguish followups that cannot stamp a probe now go to persistExhaustionCollect instead of repeating the card stem in the assistant body. Choice focuses without asked_turn_id hang on the last assistant turn, and persisted_question with a live choice_card renders the existing card. Representative-time inconsistency is warn-only (BUG-676 investigating).
This commit is contained in:
@@ -16,6 +16,7 @@ import {
|
||||
rectificationQuestionRetryActive,
|
||||
interviewCollectWaiting,
|
||||
interviewChoiceCardUnavailable,
|
||||
persistedQuestionSurface,
|
||||
interviewStopReasonFromSnapshot,
|
||||
RECTIFICATION_COLLECT_WAITING_PLACEHOLDER,
|
||||
rectificationReadonlyRangeCopy,
|
||||
@@ -111,6 +112,17 @@ test("question gap: nothing is shown while busy, readonly, regenerating, or for
|
||||
assert.equal(rectificationQuestionGapState({ ...gapBase, resumableCase: false }), "idle");
|
||||
});
|
||||
|
||||
test("a persisted choice with a live card is not the spoken-only prompt surface", () => {
|
||||
assert.equal(
|
||||
persistedQuestionSurface({
|
||||
questionKind: "choice",
|
||||
hasChoiceCard: true,
|
||||
questionPersisted: true,
|
||||
}),
|
||||
"choice_card",
|
||||
);
|
||||
});
|
||||
|
||||
test("question gap: a persisted focus question is shown instead of preparing", () => {
|
||||
assert.equal(
|
||||
rectificationQuestionGapState({ ...gapBase, questionMissing: false, questionPersisted: true }),
|
||||
|
||||
Reference in New Issue
Block a user