Commit Graph
6 Commits
Author SHA1 Message Date
xcsandClaude Opus 5 45cec82984 fix(w05): 终审两条 Critical + 地基缺陷的另一半 + 文档与欠账收口
**C1 新建芯片类型会改写既有字典行(共享主数据被静默污染)**
链条逐行复核成立:件上种子行漏挂 data-col → barred 与 isSeq 双保护同时失效
(isSeq 那条是因为 Task 7b 把 type_id 从 integer 改成了 text)→ 落进「全表一致」,
而 H35 的自投影恰好保证这张表只有一行 → 人新建的类型被认成既有 type_id=1 →
确认时随范围放行把既有字典行改名并落进正式表,屏上只说「改了 1 行」。
三条各自成立的裁定叠出来的静默污染。
修法:种子行改成 disabled 的真实 <input data-col=type_id>(desk.ts 零改动),
格子里摆「由系统生成」——不能一声不吭地拿掉,那样人会以为这张档少了一格。
测试不止断言结果:另加两条用**真实 resolveRowKey** 重放病灶/修法两种 cells 形状,
直接证明因果机制。平台根治(全表一致应排除 auto 列)记 debt。

**C2 两个启动参数都选填 → 留空则整单永久无解**
gate_reason 说「在下面把两格补上」,而块① 没有加一行、也不在 gateLedgers ——
一句指向空气的指路。改为必填;第一档改口为唯一真无解的那条路径(两格填了同一个号)。

**I1 地基缺陷只修了一半:recipe.let 同样按对象键序求值**
与 fields 是一模一样的假设,同样住 jsonb 列、同样被 PG 重排;今天不炸只因 W05 那五条
互不引用,而 ADR-014 是给后续所有活动用的。新增 orderLets/letReferences
(把 {in:X} 视为依赖 —— 语义与 fields 不同,故单独实现),auto-runner 与静态审同步接入。

**I2 审核卡按「重做」照样收步推进** —— 坐实为真实平台缺陷(「卡答过了就收步」快道不看裁决),
并证明活动侧加选项救不了、chosenGuidance 那条也救不了(那是喂模型的提示词,
而这条快道存在的目的就是跳过模型)。按裁定只留复现测试,平台未改。

**I4** 同一堵墙撞第二次即发兜底执行工单交人 + 立监听(头一次软化留痕),
不再空转到 exhausted 而人无处可改。

debt +4(C1 根治 / modules→app / thead-after-tbody / data-by 落回外层),
并补写此前被两处引用却从不存在的「refersTo 传递闭包」条目。
文档:ADR-014:201「按声明顺序求值」改对(照它写配方的人会重犯本轮的地基缺陷)、
陈旧注释四处、spec 四处分叉逐条判断处置、端到端测试记录标为历史、
CLAUDE.md 纠正「新建类型端到端通了」那句(它没通过真人路)并更新版本与文档表。

包版本 2.1.9(已装,SQL 直查库内 version/required/gate_reason/视图 HTML 四项核实)。
pnpm gates 退出码 0(2476 通过 / 34 跳过);E04 92/92、I01 55/55 无回归。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
2026-08-30 16:09:18 +08:00
xcsandClaude Opus 5 18d7147ebd docs(w05): S1 配方次序改对 —— 案卷排到骨架两笔之后
gate_reason 引的 parts_profile_missing / parts_parameter_missing 要等
②③ 把骨架行铺出来才有值。排在前面时引擎给它读到 0,卡照样正确发出,
但卡上那句「还差什么」是空白的 —— 恰在人最想要一句解释的时候。

计划与 spec 两处都写着旧次序,不改则下游任务照抄同一个错。
S2/S3/S4 已核,次序都对(投影在前、读它的排在后),病只在 S1 一处。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
2026-08-29 15:21:15 +08:00
xcsandClaude Opus 5 f22402e155 docs(spec): 拆掉 §4.3 伪码里的反模式 —— 「= 本类型字段数」不是基座数得出来的数
Task 3 的评审指出来的:parts_type_param_rows 数的是本单草稿写下的字段行(人新建类型时加的那几个),
不是整本字典。拿它当分母就是「编一个数不出来的数」—— 本仓栽过六次。
Task 3 的实现者避开了,但下游照抄伪码就会把它带回来。行数由 prune + each 字典结构保证。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
2026-08-29 13:44:32 +08:00
xcsandClaude Opus 5 65a4c7a7dd docs(plan): 第二份实施计划 —— ACT-WORK-05 活动重写(12 个任务)
spec 的 §3 数据模型 / §4 四步案例模型 / §6 三张件 / §7 判据 / §8 退役 / §9 测试 / §10 迁移次序。
自查时同步补了 spec §3.3 的 found_pn_ref —— 「在不在库」要是一次 lookup 的结果,不是一句断言,
计划的 S1 配方靠它,spec 是权威,不能两处不一致。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
2026-08-29 11:15:17 +08:00
xcsandClaude Opus 5 6cbac3220c docs(spec): W05 重写设计 §5.9 改口 —— analyze 那一笔也归系统灰,不是 AI 蓝
这份 spec 是下一份计划(W05 重写)的权威,留一句已知错的话在里面,
下一个实现者会照它做、再花一轮改回来 —— 这一轮的教训正是「三段各自正确、
合起来仍然不对」。顺带记下病根:kind: 'result' 不进工作日志骨架、internal
又被 machinery() 再滤一道,配方留痕能不能被看见没有机制保证,靠的是手工选对。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
2026-08-29 07:27:11 +08:00
xcsandClaude Opus 5 b9951483bc docs: ADR-014 确定性步骤 + W05 重写设计 spec + 实施计划(第一份:平台机制)
spec 定死八条:配方驱动零工具 · 六张台账 + P-06 按结论入账 · 四态 AI 定等级规则算 ·
保存即铺格 · 类型不一致硬拦 · 审核卡只有确认 · 只做真用得到的那几式。
计划十三个任务,机制先在纯函数与假端口上钉死,再去接真活动。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
2026-08-29 02:56:39 +08:00