feat(rectification): remove the rectification regenerate button and endpoint (BUG-1056)

T2 of TASK-rectification-grounding-20260927 (product decision P1).
The rectification 「重试(重新生成)」 was a blind agent.generate rewrite that
persisted unchecked text (invented range / fit rate reproduced). Removed:
the regenerate route, regenerate-turn.ts, the regeneration agent and its
read-only tool set, the client regenerate action/state and the
regenerating/canRegenerate props. ChatMessageActions renders the regenerate
button only when onRegenerate is passed; ordinary consultation is unchanged.
The DB function regenerate_agentic_rectification_turn is kept (AGENTS §7.6,
retire in a later round). DESIGN.md / VOICE.md updated; source-contract
tests follow with 原值/新值/原因 notes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
This commit is contained in:
Jesse_Chen
2026-09-27 03:28:27 +08:00
co-authored by Claude Opus 5.5
parent 5a8084494b
commit 84eb23152a
37 changed files with 200 additions and 961 deletions
+3 -1
View File
@@ -72,7 +72,9 @@ test("generating does not disable the textarea; Enter queues instead of dropping
rectification.slice(rectification.indexOf("<ChatComposer"), rectification.indexOf("onStop={stopRun}")),
/inputDisabled=\{!canSend\}/,
);
assert.match(rectification, /if \(busy \|\| regeneratingMessageKey\) \{/);
// 原值: /if \(busy \|\| regeneratingMessageKey\) \{/。新值: /if \(busy\) \{/。
// 原因: BUG-1056(TASK-rectification-grounding-20260927 P1)删除生时校正的重新生成接口与按钮,排队条件只剩 busy,排队行为不变。
assert.match(rectification, /if \(busy\) \{/);
assert.match(rectification, /queued\.enqueue\(draft\)/);
});