W05 收口:五例在收紧断言下全 released · 全被拒 0(活动 1.2.9 → 1.3.6)

第 7–12 轮逼出七条(T–Z),两条是脚本自己的、五条是活动的,其中一条上结构:
- W 参数名写成英文 key,与库里中文行不是同一行 → 27 条里 14 条 UNKNOWN。措辞两遍 +
  乘法对账都拦不住单颗料那一路(5 = 5×1 恒成立),改自指 refersTo:param_name
  只能用台账里已经在用的名字,一颗料时也咬得住。
- V/Z 数据工单那一项的两个方向:建完第一颗就收掉(再给第二颗发卡撞「已办完」)、
  铺完骨架就标 created 直接 finish(撞「从没发过卡」)—— 顺序写死:骨架 → 发卡 →
  拍结束 → 人交回 → 才标 created;absent 没清零不许 finish。
- T P-10 也要「发卡前骨架先有行」;X 第二颗缺库也要先问。
- 脚本:U 一例翻车不拖垮整套;Y 按闸的指示「加一行」;断言收紧 —— 点名的行整例跑完
  仍没出现 = 失败,决策卡按「问的是哪件事」数(第 9 轮逮到一次假绿)。

流程上两条纪律(用户当场纠正):只跑受影响的那一例,改了平台共享面才全跑;先说计划再动手。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FJcX8A6TWp4GRs41TYryEh
This commit is contained in:
xcs
2026-08-27 11:13:53 +08:00
co-authored by Claude Fable 5
parent 182d3c39b5
commit 6f7513aa58
6 changed files with 188 additions and 14 deletions
@@ -84,6 +84,13 @@ describe('台账声明:授权面与《统一方案》口径', () => {
expect(param?.kind).toBe('master');
expect(param?.fields.filter((f) => f.primaryKey).map((f) => f.name)).toEqual(['internal_pn', 'param_name']);
expect(param?.fields.find((f) => f.name === 'internal_pn')?.refersTo).toBe('parts.profile.internal_pn');
/*
* 参数名自指引用:只能用台账里已经在用的那几个 —— 2026-08-27 实测三次,
* 模型给新料写英文 key,剧本写过两遍 + 一条乘法对账都拦不住「只建一颗」那一路。
*/
const pn = param?.fields.find((f) => f.name === 'param_name');
expect(pn?.refersTo).toBe('parts.parameter.param_name');
expect(pn?.distinct).toBe(true);
expect(param?.fields.find((f) => f.name === 'param_value')?.required).toBe(true);
expect(param?.fields.find((f) => f.name === 'constraint_type')?.tally).toEqual(['hard', 'soft']);
expect(param?.fields.find((f) => f.name === 'constraint_type')?.required).toBe(true);