fix(rectification): enforce trusted result identity and preserve receipt provenance
Unify minute and block cache identity, keep unverifiable historical results read-only across server tools and write entrypoints, and aggregate completed receipt sources chronologically through a compatible function migration. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -735,14 +735,16 @@ test("time-selection cards use server adoption state and stay mutually exclusive
|
||||
assert.doesNotMatch(chat, /send\("message", choiceCardUserMessage/);
|
||||
assert.doesNotMatch(chat, /send\("message", choiceCard\?\.stop_message/);
|
||||
assert.doesNotMatch(chat, /choiceCardUserMessage/);
|
||||
assert.match(caseProjection, /choice_card: choiceCardFromCaseDossier/);
|
||||
// 原值: 直接卡片投影;新值: 只读时 null;原因: BUG-984 不能选择旧结果。
|
||||
assert.match(caseProjection, /choice_card: identity\.read_only \? null : choiceCardFromCaseDossier/);
|
||||
// 原值: 容器 map 用 `choiceCard && choiceCard.focus_id === question.focus_id` 和 `disabled={!liveQuestion}`。
|
||||
// 新值: 行组件用 liveChoiceCard / liveQuestion;容器的 live 卡判定仍比对 latestLiveQuestion。
|
||||
// 原因: BUG-725。
|
||||
assert.match(messageEntry, /liveChoiceCard\s+&& liveChoiceCard\.focus_id === question\.focus_id/);
|
||||
assert.match(messageEntry, /disabled=\{!liveQuestion\}/);
|
||||
assert.match(chat, /choiceCard\s+&& choiceCard\.focus_id === latestLiveQuestion\.focus_id/);
|
||||
assert.match(caseProjection, /current_question: projectCurrentQuestion/);
|
||||
// 原值: 无条件问题;新值: 只读不提供可写问题;原因: BUG-984。
|
||||
assert.match(caseProjection, /current_question: identity\.read_only \? null : projectCurrentQuestion/);
|
||||
assert.match(caseProjection, /overlayPublicDecision/);
|
||||
assert.match(caseProjection, /const fields = publicDecisionFields\(decision\)/);
|
||||
// 原值: 断言读 cases/[caseId]/route.ts 的 interview 投影
|
||||
|
||||
Reference in New Issue
Block a user