fix(ticket-management): 采纳复核 —— 段位词表补全 + 评论可执行物提示 + 顺序如实判定

复核回执 R-20260924-103820-a8f2(现状梳理)逐条实跑核对后落地。

【采纳】
- 词表按 #157/#159 真实小节名补齐:`结论`(结论即提案)→ 提案 · `生产实测` → 背景 · `基线` → 效果;
  `取证记录` 进「其他已识别小节」(原报「未归类」是误报)。
- 去掉「更正 / 补充」特例 ⇒ 顺序改按主叙事**如实**判定(复核指出 `## 影响面(实测更正)`
  被错列成「后置小节」);提示语写明「确为更正小节后置时可保留,由人判断」。
- 缺「提案」的措辞给出路:提示「若『结论即提案』或结论为『无需处置』,请显式写一段声明」。
- 评论清单加 `[可执行]` / `[? 非可执行]` 列(启发式:代码围栏或 SQL 关键字)⇒
  「评论只应剩必须可执行物」由人肉核变为机器提示 + 人核;SKILL §8.1/§8.3 同步。
- `selftest` 13 → **20** 条(补 结论即提案 / 基线归效果 / 取证记录 / 可执行物三态 / 方案明细不被「实测」抢走)。

【自查中自己踩的坑(已修 + 加回归用例)】
- 首版把裸词 `实测` 加进背景词表 ⇒ `## 方案明细(…实测代价)` 被抢归「问题背景」,`#158` 误报「顺序 ⚠」。
  改为 `生产实测`,并加 selftest 锁死该回归。

【不采纳(附理由)】
- 「`闸门=不处置` 作为提案的替代」:闸门是断言 4 的受控词表(等口径 / 等取证 / 等部署),
  新增取值属口径变更且会使「不能开工」语义漂移 ⇒ 改用「`## 结论` 可替代提案 + 正文显式声明」,
  **不动闸门词表**;确要加取值请用户拍板。

【验证 · E1 · 本机】
- `node --check` 通过;`selftest` **20/20**;`verify 157 158 159` = **21/21**。
- `assess`:#158 四段全 ✓ · 顺序 OK · 空壳 无 · 两条评论均判 `[可执行]`;
  #157 四段(结果 / 效果未发生 ⇒ 不长空壳)· 顺序 OK;
  #159 ⇒ **顺序 ⚠**(`影响面` 落在 `机制` 之后)—— 如实判定,前移或按更正小节保留由属主定。
This commit is contained in:
2026-09-24 10:44:07 +08:00
parent 79a9c13c91
commit feeafbd70d
2 changed files with 46 additions and 24 deletions
+9 -6
View File
@@ -170,16 +170,19 @@ node bin/ticket.mjs rename 142 --repo=xbc/xbc --domain=平台 [--gate=等口径]
| 段 | 回答的问题 | 典型小标题 |
|---|---|---|
| **① 问题背景**(必备) | 谁 / 什么场景 / 什么问题 · 影响面 · 根因(含证据) | `## 现象` `## 根因` `## 影响面` |
| **② 处置提案**(必备) | 打算怎么做 / 已选哪条路线 / 为什么 | `## 方案` `## 机制` `## 两条修复路线` |
| **③ 处置结果**(按事实) | 实际做了什么 · 当前状态(已执行 / 挂起 / 未动) | `## 执行回执` `## 当前状态` |
| **④ 效果对比**(按事实) | 改前 vs 改后:**指标 + 口径 + 时点**同表对照 | `## 效果对比` `## T0 / T1 对照` |
| **① 问题背景**(必备) | 谁 / 什么场景 / 什么问题 · 影响面 · 根因(含证据 / 生产实测) | `## 现象` `## 根因` `## 影响面` `## 生产实测阶梯` |
| **② 处置提案**(必备) | 打算怎么做 / 已选哪条路线 / 为什么 | `## 方案` `## 机制` `## 两条修复路线` `## 结论` |
| **③ 处置结果**(按事实) | 实际做了什么 · 当前状态(已执行 / 挂起 / 未动) | `## 执行回执` `## 当前状态` `## 处置结果` |
| **④ 效果对比**(按事实) | 改前 vs 改后:**指标 + 口径 + 时点**同表对照 | `## 效果对比` `## 生产基线 T0` `## T0 / T1 对照` |
- ③④ **只在真的做了 / 真的测了之后**才写;**未发生就整段不写**(不留空壳 —— 空壳等于噪音)。
- **可选补段**(一律放四段之后):`## 验收判据` · `## 反证条件` · `## 遗留`。
- **同一段可以有多个并列小节**:用 `## <段名> · <子题>`(实测:`## 效果对比 · 生产基线 T0` + `## 效果对比 · T1/T2 判据与实测`)—— `assess` 会**合并计为一节**。
- **没有「提案」时不要硬造**:`## 结论`(**结论即提案**)可替代;若结论是「**无需处置**」或「**与 #n 不是同一根因**」,就在正文**显式写一段结论声明**。
- **其他已识别小节**(不计入四段):`## 验收判据` · `## 反证条件` · `## 遗留` · `## 取证记录`。
- 正文必须**自包含**(§1 规则 3)—— 只读正文就能回答:**现在什么状态 / 要做什么 / 怎么验收 / 效果如何**。
2. **评论只保留「必须可执行物」**:可执行 SQL / 命令 / 待跑清单。**其余过程性评论一律删除**(不是「标注过时后留着」)。
⚠ **可执行物不得因「正文已列名字」而删**(2026-09-24 实测事故):DDL / SQL 这类东西,**判定可删的唯一判据是「其全文已被正文或另一条评论完整承载」**;只列了对象名(如索引名清单)**不等于**承载了可执行语句 —— 一旦删除,工单就**没法照着做**了。
**工具辅助**:`assess` / `comments` 会给每条评论标 `[可执行]` / `[? 非可执行]`(**启发式**:含代码围栏或 SQL 关键字)—— 只作提示,**仍需人核**。
⚠ **工单里的 SQL 必须逐条原样**(2026-09-24 实测事故):**禁止**对语句做「拼接 / 去尾 / 换分隔符」式字符串变换(实测把 `, ALGORITHM=INPLACE, LOCK=NONE;` 换成逗号 ⇒ 18 条语句连成一段**无分号的废码**);**回退脚本不得留占位符**(列序 / 唯一性要填实)—— 否则「可执行物」实际**不可执行**。**投递前必须实跑验证**(结构影子库零数据逐条执行,正反向都要过)。
3. **过程流水与逐条取证进外部记录**(分析文档 / 台账底册),工单里**只在末尾引用块登记**(§3.3);人读部分**不得**出现外部路径与编号。
4. **口径更新必须同步正文与标题**:凡结论/数量/清单发生变化(如「24 条」→「23 条」、「删 5」→「删 4」),必须**同一次**改掉**标题 + 正文 + 摘要评论**(`update` 支持标题与正文同提交);**旧口径若仍在被引用(如执行清单),必须显式标注「已废止」并写明正确值**。
@@ -216,7 +219,7 @@ node bin/ticket.mjs rename 142 --repo=xbc/xbc --domain=平台 [--gate=等口径]
- [ ] 四段**顺序正确**,**没有空壳段**(标题下没内容 ⇒ 删);
- [ ] 正文**没有**「旧版 / 已废止」并列堆叠 —— 旧值已删,或压成一句「已废止,正确值 X」;
- [ ] 标题 / 正文 / 评论里的**数量与范围一致**(「23 条」不能只改一处);
- [ ] 评论**只剩可执行物**,且**可执行物完整可跑**(是全文,不是对象名);
- [ ] 评论**只剩可执行物**,且**可执行物完整可跑**(是全文,不是对象名);工具标 `[? 非可执行]` 的**逐条核过**;
- [ ] 同一条信息**没有两处详写**(一处详写,其余 `#n` 交叉引用);
- [ ] 首行机读行仍是 ` | ` 形态、字段顺序未被打乱。