fix(loop-engine): 配方少写的行要出声,撤掉的行要点名

**M1**:主键算不出来那一行从前是静默 `continue` —— 既不计数也不留痕。
表里少了行,人和判据都查不出为什么。现在这一笔结束时点明少了几行、主键列是哪几个。

**M2**:`prune` 撤行从前只说「撤掉 M 行」。2026-08-02 为人工撤行立过
「撤要说出来、要点名哪几行」的规矩(不说清,下一拍的读者会把人刚删的写回去),
配方这一侧跟上:点名撤了哪几行,封顶 8 个,**并去掉单号那一段** ——
人正在这一单里看,单号是脚下的地面,不是区分行的信息(2026-08-25 同一条口径,
基座那一侧是 `rowLabel`)。为此 `TaskDataGateway.writable` 补一个可选的 `caseKey`。

3 测(少写出声 / 撤行点名 / 名单不带单号)。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
This commit is contained in:
xcs
2026-08-29 08:43:53 +08:00
co-authored by Claude Opus 5
parent 588d5c2dd4
commit 642bdcef3b
4 changed files with 75 additions and 8 deletions
+6
View File
@@ -44,6 +44,12 @@ export type TaskDataGateway = {
object: string;
label: string;
keys: string[];
/**
* 单标识列(`declarations.ledger[].caseKey`)—— **摆给人看的行标识要去掉这一段**
* (2026-08-25 柴浩:「COV-…/CU-0142-01 只保留斜杠右边」):人正在这一单里看,
* 单号是脚下的地面,不是区分行的信息。基座那一侧同款做法见 `rowLabel`。
*/
caseKey?: string | undefined;
fields: Array<{ name: string; label: string; type?: string }>;
}>
>;