diff --git a/docs/superpowers/specs/2026-08-29-act-work-05-rewrite-design.md b/docs/superpowers/specs/2026-08-29-act-work-05-rewrite-design.md index 7eb0162..44f9a07 100644 --- a/docs/superpowers/specs/2026-08-29-act-work-05-rewrite-design.md +++ b/docs/superpowers/specs/2026-08-29-act-work-05-rewrite-design.md @@ -285,11 +285,17 @@ doneWhen sub_eval_part_exists_status_found = 2 ⑤ say -doneWhen difference_item_rows = 本类型字段数 +doneWhen substitution_difference_item_rows > 0 + and substitution_difference_item_missing = 0 and substitution_relation_rows = 1 and validation_record_rows = 1 ``` +> **为什么不写 `= 本类型字段数`**(这份 spec 早先的伪码里写过,是错的): +> 「本类型有几个字段」**不是基座数得出来的数** —— `parts_type_param_rows` 数的是**本单草稿写下的** +> 字段行(人新建类型时加的那几个),不是整本字典。拿它当分母就是「编一个数不出来的数」, +> 本仓在这上面栽过六次。行数由 `prune` + `each 字典` 结构保证;判据只查「写了」与「不缺」。 + **这一步一张卡都不发,人不出现。** 三处刻意的克制: - **AI 决定不了「有几行」。** 明细的行由类型字典 `each` 出来,AI 的出参只是拿 `param_name` 去