diff --git a/session-mechanism/SKILL.md b/session-mechanism/SKILL.md index 9e8b235..b6242e0 100644 --- a/session-mechanism/SKILL.md +++ b/session-mechanism/SKILL.md @@ -475,13 +475,15 @@ python .workbuddy/collab/collabd.py --set-life 进行中 --by "主会话" **⑨ 我要优化技能本身**(用户说「**优化技能**」「**技能怎么改更好**」「**梳理技能**」「**梳理一下技能的要求和描述**」「**技能太长**」「**这条规则写在哪**」「**这个技能能不能拷到别的机器用**」——任一句即触发)⇒ 读 **`references/06-技能优化规程.md`**(2026-10-15 立)。  **一句话判据**:**写技能时,假设读者是"另一台机器上的另一个会话"** —— 拿它回放一遍,毛病自己浮出来。 - **三层,按 A → B → D 这个顺序做**(层名与文末总表对齐): - · **A 工程层**(换机器能不能活)—— ① 配置外置 ② 不写死本机 ③ 本机生成的契约不入库 ④ 路径形态统一 ⑤ 入仓按白名单。 - · **B 结构层**(后续会不会漂)—— ⑥ 单一真源 ⑦ 注入面与真源同源(🔴 每轮注入的面**改文字必须量长度**)⑧ 命名一致 ⑨ 正文不自相矛盾。 - · **D 表述层**(读起来对不对)—— ⑩ 肯定表述(正本 ⇒ `references/rules.md §9`)⑪ 说人话 ⑫ 一页纸。 - 🔴 **优先级判断**:A 工程会**让人出事**(搞坏别的机器)> B 结构会**让后续每次都漂**> D 表述**只是效果差**。 - 🔴 **文末附「技能优化描述 · 总表」21 条四层**:A/B/D = 上面三层;**C 流程层**(步骤顺序/编号连续/无跳步/职责不越界/字段归属/上下游不断裂/引用路径/字段不缺失/产物链完整)来自另一来源,判据正本只在表里。A/B/D 判据正本在正文,表里是指针。 - 🔴 **验法按层不同**:A ⇒ **拷到别处跑一遍**(能不能换机器跑通,是最硬的一条);B ⇒ 同源比对/md5/判据;C ⇒ 画数据流看断点;D ⇒ 人读(⛔ 别假装它有自动结论)。 + **三层,按 B → C → D 这个顺序做**(层名与文末总表对齐;**环境配置 A 层另属一份规范,只给指针**): + · **A 技能环境配置**(换机器能不能活)—— 配置外置 / 不写死本机 / 本机生成契约不入库 / 路径形态统一 / 入仓按白名单。 +  🔴 判据正本=`SKILL.md §0` 的「包内目录怎么分」+「路径一律用相对」+ 十一条禁令第 11 条 + 仓根 `.gitignore`;06 里**不复述**。 + · **B 结构层**(结构清晰·重点突出·无冲突·边界清晰)—— #6 单一真源 #7 注入面与真源同源(🔴 每轮注入的面**改文字必须量长度**)#8 命名一致 #9 正文不自相矛盾。 + · **C 流程层**(流程顺畅·功能正常)—— #10 步骤顺序 #11 编号连续 #12 无跳步 #13 职责不越界 #14 字段归属 #15 上下游不断裂 #16 引用路径 #17 字段不缺失 #18 产物链完整(**P0**)。 + · **D 表述层**(简洁·高效·实用·无歧义)—— #19 肯定表述(正本 ⇒ `references/rules.md §9`)#20 说人话 #21 一页纸。 + 🔴 **优先级**:B 结构 > C 流程 > D 表述 —— 前两层出毛病**机制失效或断链**,表述只是**效果差**。 + 🔴 **目标(用户 2026-10-15 原话)**:让技能描述**结构清晰·重点突出·简洁·高效·实用·无歧义·流程顺畅·功能正常·规则边界清晰·无冲突**。 + 🔴 **文末附「技能优化描述 · 总表」21 条四层**;**验法按层不同**:A ⇒ 拷到别处跑一遍/B ⇒ 同源比对 md5/C ⇒ 画数据流看断点/D ⇒ 人读(⛔ 别假装它有自动结论)。 --- diff --git a/session-mechanism/references/01-文档索引.md b/session-mechanism/references/01-文档索引.md index b7d1657..bfb70fc 100644 --- a/session-mechanism/references/01-文档索引.md +++ b/session-mechanism/references/01-文档索引.md @@ -28,6 +28,7 @@ | 查某个历史会话干了啥 | `forensics.md` | — | | 任务图/多会话分工 | `taskgraph.md` + `collab.md` | — | | 怎么回话/排版 | `03-回复排版-核心块.md` + `02-功能优先协作协议.md` | — | +| **技能环境配置规范**(每台机器各不同怎么放/路径怎么写/什么不入库) | `SKILL.md §0`「包内目录怎么分」+「路径一律用相对」+ 十一条禁令第 11 条 + 仓根 `.gitignore` | — | | **读到看不懂的词/要写新词**(「宿主是什么」「术语」「这个词看不懂」) | `architecture.md §7 术语`(唯一正本) | — | | **盘点技能库/技能已无作用**(「盘点技能库」「技能库体检」「技能清单」) | `05-技能库盘点规程.md` | 其余全部 | | **优化技能本身/这条规则写在哪**(「优化技能」「技能怎么改更好」「梳理技能」「技能太长」) | `06-技能优化规程.md` | 其余全部 | diff --git a/session-mechanism/references/05-技能库盘点规程.md b/session-mechanism/references/05-技能库盘点规程.md index d7399d1..6c33f82 100644 --- a/session-mechanism/references/05-技能库盘点规程.md +++ b/session-mechanism/references/05-技能库盘点规程.md @@ -49,20 +49,20 @@ **⑤ 白名单对不对** 读数:列出仓内已跟踪的目录 + 技能根下未被放行的技能目录,两边对照。 -🔴 判据 ⇒ 06 的 **A⑤**。漏放行的实证:2026-10-11 `video-capture` 独立了但白名单没加, -仓里只剩一份指向仓外的交接说明。 +🔴 判据 ⇒ **技能环境配置规范**(正本 仓根 `.gitignore` 的注释块;06 的 A 段只给指针)。漏放行的实证: +2026-10-11 `video-capture` 独立了但白名单没加,仓里只剩一份指向仓外的交接说明。 **⑥ 本机生成的契约有没有被误入库** 读数:在 `git ls-files` 里搜 `env/roots.env`、`references/manifest.md` 这类候选。 -🔴 判据 ⇒ 06 的 **A③**。 +🔴 判据 ⇒ 同规范(`SKILL.md §0`「包内目录怎么分」)。 **⑦ 入库代码里有没有"写死这台机器"** 读数:对已入仓文件扫三样 —— 盘符字面量 / 绝对机器路径 / 工作区清单,逐条记位置。 -🔴 判据 ⇒ 06 的 **A②**;修法 ⇒ 06 的 **A① + A②**。 +🔴 判据 ⇒ 同规范(`SKILL.md §0`「路径一律用相对」+ 十一条禁令第 11 条);修法 ⇒ 配置外置,推不出来就如实报错留痕。 **⑧ 路径形态对不对** 读数:逐个引用点记下它引的是包内还是跨根。 -🔴 判据 ⇒ 06 的 **A④**。 +🔴 判据 ⇒ 同规范(`SKILL.md §0`「例外只有一类:跨根引用」)。 **⑨ 正文有没有自相矛盾** 读数:同一概念在各篇出现的位置与写法,成对列出。 diff --git a/session-mechanism/references/06-技能优化规程.md b/session-mechanism/references/06-技能优化规程.md index 79a992f..87b399b 100644 --- a/session-mechanism/references/06-技能优化规程.md +++ b/session-mechanism/references/06-技能优化规程.md @@ -1,116 +1,120 @@ # 06 · 技能优化规程 -> **什么时候用**(本规程只管**描述与结构**:这条规则写在哪、怎么表述、换台机器还灵不灵):用户说 +> **什么时候用**(本规程只管**描述、结构、流程** —— 怎么写、怎么组织、边界清不清;**环境配置另有一份规范**):用户说 > 「**优化技能**」「**技能怎么改更好**」「**梳理技能**」「**梳理一下技能的要求和描述**」「**技能太长**」 -> 「**这条规则写在哪**」「**这个技能能不能拷到别的机器用**」—— 任一句即触发;点名某一层(如"只看工程层")⇒ 只跑那一层。 +> 「**这条规则写在哪**」「**这个技能能不能拷到别的机器用**」—— 任一句即触发;点名某一层 ⇒ 只跑那一层。 > **一句话判据**:**写技能时,假设读者是"另一台机器上的另一个会话"。** > 📌 姊妹篇:**盘点技能库**(有哪些技能、在用没用、该不该入仓)⇒ `references/05-技能库盘点规程.md`。 -## 为什么是这一句(依据=2026-10-05 ~ 10-15 的六次实操) +## 本规程管什么(用户 2026-10-15 原话 + 判据来源) -近 10 天里「技能怎么改」被反复提过,表面是六件不相关的事 —— 写死盘符、肯定表述、规则散落、 -注入被截断、命名混用、旧稿覆盖新稿。摆在一起看**根因是同一个**:**技能是「跨机器、跨会话共享的文本」, -作者却在按「本机、本会话」的假设写它** —— 按"本机"写就写死 `E:/...`(2026-10-11 用户原话: -「这个环境都是针对一台机器的,同步到别的机器把环境都搞坏了」);按"本会话"写就把规则散在多处。 -⚠️ **拿"另一台机器 + 另一个会话"回放一遍,毛病自己就浮出来** —— 这是本规程的第一判据。 +> 技能优化是为了让技能相关描述 —— **结构清晰 · 重点突出 · 描述简洁 · 高效 · 实用 · 无歧义 · +> 流程顺畅 · 功能正常 · 规则边界清晰 · 无冲突**。 + +这十项就是 B/C/D 三层的靶子。🔴 **不在本规程范围**:**技能环境配置**(每台机器各不同的东西怎么放、路径怎么写)—— 那是 A 层,只给指针。 +判据来源:近 10 天「技能怎么改」被反复提过,表面是六件不相关的事,**根因是同一个** —— 技能是「跨机器、跨会话共享的文本」,作者却按「本机、本会话」的假设写它。 +⚠️ **拿"另一台机器 + 另一个会话"回放一遍,毛病自己就浮出来**。 --- -## 三层(🔴 就按 A → B → D 这个顺序做) +## 三层(🔴 就按 B → C → D 这个顺序做) -优先级:**A 工程 > B 结构 > D 表述** —— 工程层的毛病会**让人出事**(搞坏别人的机器); -结构层的毛病会**让后续每次都漂**;表述层的毛病**只是效果差**。 -📌 **层名对齐**:本文三层 = 文末总表的 **A/B/D**;总表另有一层 **C 流程**(多步流程与数据流维度,来自另一来源,全文只在总表)。 -🔴 **判据正本 = 本文这三层**:总表里 A/B/D 的"判据"列是锚点,指回本节的 ① ~ ⑫,改判据只改本节这一处。 +优先级:**B 结构 > C 流程 > D 表述** —— 结构与流程出毛病会让**机制失效或断链**(别人照它做会做错事); +表述出毛病**只是效果差**。 -### A 工程层(换机器能不能活) +### A 技能环境配置(本规程不展开) -**① 配置外置** -每台机器各不同的东西(工作区根 / 配置目录 / 文档库根 / 本机软件安装位)放包内 `env/`; -入仓的只有 `env/*.example`(占位符、无本机路径)。真文件由 `install.py --apply` 生成。 +🔴 这 5 条属**技能环境配置规范**,判据一律指回真源,⛔ 不复述(复述=第三处真源): -**② 不写死本机** -✅ 写法:能从 `__file__` 推导的就推导;推不出来的读 `env/roots.env`;**推不出来又没有配置 ⇒ 如实报错 + 留痕**。 -⚠️ 判"写死本机"就看这三样(反例依据):盘符字面量 / 绝对机器路径 / 工作区清单。 +- **1 配置外置** ⇒ `SKILL.md §0`「包内目录怎么分」(用户 2026-10-11 令:「脚本是脚本 配置是配置」) +- **2 不写死本机** ⇒ `SKILL.md §0`「路径一律用相对」+ 十一条禁令第 11 条(2026-10-14 用户令) +- **3 本机生成契约不入库** ⇒ 同「包内目录怎么分」(`env/roots.env` 本机生成、不入库;入仓的只有 `*.example`) +- **4 路径形态统一** ⇒ `SKILL.md §0`「例外只有一类:跨根引用」 +- **5 入仓按白名单** ⇒ 仓根 `.gitignore` 的注释块(用户 2026-10-09 令) -**③ 本机生成的契约不入库** -判据:**它是不是由本机某个脚本生成** —— 是(`env/roots.env`、`references/manifest.md` 这类)⇒ ⛔ 不入库。 +### B 结构层(→ 结构清晰 · 重点突出 · 规则边界清晰 · 无冲突) -**④ 路径形态统一** -引用**本包自己或同根技能** ⇒ 写 `<技能根>/<技能名>/` 或包内相对路径。 -**跨根引用**(工作区根 / 文档库根 / 本机安装位 / 宿主数据目录)⇒ 才落到具体位置,且优先读环境变量。 +**6 单一真源** +同一件事**只留一处定义**,其余位置写指针。判据:**改它的时候,我需不需要改第二个地方** —— 需要 ⇒ 那是两处真源。 -**⑤ 入仓按白名单** -仓用 `/*` 全挡 + 逐个放行。**新增独立技能后要同步放行**(漏了 ⇒ 仓里只剩一份指向仓外的引用)。 - -### B 结构层(后续会不会漂) - -**⑥ 单一真源** -同一件事**只留一处定义**,其余位置写指针。判据:**改它的时候,我需不需要改第二个地方** —— -需要 ⇒ 那就是两处真源,该收敛。 - -**⑦ 注入面与真源同源** +**7 注入面与真源同源** 每轮注入的那份与包内那份**逐字一致**(防漂移判据:`scripts/selftest.py::t_reply_core_same_source`)。 -🔴 配套:**凡"每轮注入 / 有长度上限"的面,改文字必须量长度** —— -"改完自测全绿"不等于"改的内容真进了上下文"(已经栽过一次:加条文把尾部三条规则顶掉了)。 -⚠️ 同源判据自己也要做**变异对照**(改一处应报红、复原应回绿)—— 判据只认一种文本形态就会**恒绿** -(2026-10-15 实测:只认加粗形态,而索引那行不加粗 ⇒ 抓成空集,永远绿)。 +🔴 配套:**凡"每轮注入 / 有长度上限"的面,改文字必须量长度** ——"改完自测全绿"不等于"改的内容真进了上下文"。 +⚠️ 同源判据自己也要做**变异对照**(改一处应报红、复原应回绿)—— 判据只认一种文本形态就会**恒绿**。 -**⑧ 命名一致** -同一概念在全包用同一个叫法。改名前先列**伴随物清单**(只改主体必留隐患)。 -📌 本包的术语正式名与旧称映射,**唯一天条真源**是 `references/architecture.md §7 术语`(⛔ 别另抄一张表 —— 抄了必打架)。 +**8 命名一致** +同一概念在全包用同一个叫法;改名前先列**伴随物清单**(只改主体必留隐患)。 +📌 术语正式名与旧称映射的**唯一天条真源** ⇒ `references/architecture.md §7 术语`(⛔ 别另抄一张表)。 -**⑨ 正文不自相矛盾** +**9 正文不自相矛盾** 同一件事在技能里出现两种写法(尤其"正文"与"规则段"之间)⇒ 逐条对,留一处。 -### D 表述层(读起来对不对) +### C 流程层(→ 流程顺畅 · 功能正常) -**⑩ 肯定表述** +> 来路:2026-08-10 另一工作区对创作流程做全量审计归纳的 13 项里,9 项属这一层; +> **多步流水线型技能**(如 `product-planning` 的四段)逐条对着查,单文件技能跳过本层。 + +**10 步骤顺序正确** —— 全流程步骤顺序无错乱(反例:步骤排反) +**11 编号连续** —— 步骤内部编号不跳号(反例:第一步 → 第三步,缺第二步) +**12 无跳步** —— 不跳过中间步骤(反例:产物链 5→6→7 跳了一步) +**13 步骤间职责不越界** —— 各步骤各管一段(反例:后一棒把前一棒的场次表+情绪卡全塞进去) +**14 字段归属正确** —— 字段由哪个步骤产出就标哪个(反例:情绪设计卡标成后一棒,实际是前一棒) +**15 上下游不断裂** —— 上游输出的字段,下游输入列表要引用(反例:「目标体感」字段后两棒都没引用) +**16 引用路径正确** —— 引用走对层级(流程 → 知识库 → 素材库) +**17 字段不缺失** —— 每步的输入列表字段完整(反例:某步输入缺「框架方案」) +**18 产物链完整** —— 中间产物必须落盘;**P0:只出最终产物 = 断链** + +### D 表述层(→ 描述简洁 · 高效 · 实用 · 无歧义) + +**19 肯定表述** 写「要什么、怎么做」。⛔ 不写「不要 A/B/C」—— 负向词进匹配面/注入面,**反而把 X 拉高命中**。 例外:**以「经验沉淀」或「红线/避坑」为目的**的文档可以写负向,写法=**正向目标 + 括号里的踩坑依据**。 -⚠️ 两条边界:「配置里不含本工作区」是在**描述事实**,不在本条管辖内;「三禁」这类**硬禁令**是约束本体,强度要留住。 +⚠️ 两条边界:「配置里不含本工作区」是在**描述事实**;「三禁」这类**硬禁令**是约束本体,强度要留住。 (正本 ⇒ `references/rules.md §9`) -**⑪ 说人话** -落盘文字先过"像不像人写的"这一关(禁四种 AI 味:三段式排比连用 / "…着"结尾的肤浅分析 / -模糊归因 / 把一句话拆成加粗小标题 + 竖排碎句)。 +**20 说人话** +落盘文字先过"像不像人写的"这一关(禁四种 AI 味:三段式排比连用 / "…着"结尾的肤浅分析 / 模糊归因 / 拆成加粗小标题 + 竖排碎句)。 -**⑫ 一页纸** +**21 一页纸** 单份产出默认 ≤120 行,超长就拆。 --- +## 怎么验(验法按层不同,⛔ 别拿一种套四层) + +- **A 环境配置** ⇒ 把这台机器上的包**拷到没有 `env/` 的位置跑一遍**,看它如实报错还是静默扫空 —— 最硬的一条。 +- **B 结构层** ⇒ 同源比对 / md5 / 判据(有机器可查的部分)。 +- **C 流程层** ⇒ 画数据流,看断点与跳号。 +- **D 表述层** ⇒ 人读;⛔ 这层**验不出自动结论**,别假装它通过了。 + +--- + ## 技能优化描述 · 总表(21 条,四层) -> **怎么来的**:合并两个来源并去重 —— ① 本文三层 12 项;② 另一工作区的 `技能审计检查清单.md` -> (`E:/ProgramData/AIProject/mcn-short-video/技能审计检查清单.md`,2026-08-10 创作流程全量审计的 13 项, -> 覆盖**流程与数据流**维度;跨根引用,仅作来路说明)。 -> **用法**:按 **A → B → C → D** 顺序逐条过。**怎么验**按层不同 —— A ⇒ **拷到别处跑一遍**(最硬, -> 把包复制到一个没有 `env/` 的位置,看它如实报错还是静默扫空);B ⇒ 同源比对 / md5 / 判据; -> C ⇒ 画数据流看断点;D ⇒ 人读(这层**验不出自动结论**,别假装它通过了)。 -> **分级**:**P0 = 会让人出事或断链**(A 层 + C 层 #18)/**P1 = 不一致或冗余**(B 层 + C 层其余)/**P2 = 效果差**(D 层)。 -> 🔴 A/B/D 三层的"判据"列是**锚点**(指回上文对应项);**C 流程层的判据正本就在本表**。 +> **怎么来的**:① B/C/D 三层判据(=本规程正文);② 另一工作区的 `技能审计检查清单.md`(`E:/ProgramData/AIProject/mcn-short-video/技能审计检查清单.md`,2026-08-10 创作流程全量审计的 13 项;跨根引用,仅作来路说明)。 +> **用法**:按 **1 → 21** 逐条过。**分级**:**P0 = 会让人出事或断链**(#2、#18)/**P1 = 不一致或冗余**(B 层 + C 层其余)/**P2 = 效果差**(D 层)。 +> 🔴 **判据正本不在本表**:#1–#5 在 `SKILL.md §0` 与仓根规则;#6–#21 在本规程的 B/C/D 三层。表里只给锚点与反例。 | # | 层 | 检查点 | 判据 | 典型反例(实测过的) | |---|---|---|---|---| -| 1 | A 工程 | 配置外置 | 见 A① | 本机路径写进入库代码 | -| 2 | A 工程 | 不写死本机 | 见 A② | `or r"D:\..."` 兜底;工作区清单写死 | -| 3 | A 工程 | 本机生成契约不入库 | 见 A③ | 入仓后换机器"同名覆盖"改掉对方配置 | -| 4 | A 工程 | 路径形态统一 | 见 A④ | 同一件事三处三说地写文档库路径 | -| 5 | A 工程 | 入仓按白名单 | 见 A⑤ | 新技能独立了但白名单没加 ⇒ 仓里只剩指向仓外的引用 | -| 6 | B 结构 | 单一真源 | 见 B⑥ | 同一条判据散在 6 处,改一处漏一处 | -| 7 | B 结构 | 注入面与真源同源 | 见 B⑦ | 加条文顶破上限 ⇒ 尾部规则静默消失,下游只看到"已截断" | -| 8 | B 结构 | 命名一致 | 见 B⑧ | 「任务会话 31 处 / 执行会话 29 处」混用 | -| 9 | B 结构 | 正文不自相矛盾 | 见 B⑨ | 技能正文缺起实例命令、与另一处说法冲突 | -| 10 | C 流程 | 步骤顺序正确 | 全流程步骤顺序无错乱 | 步骤排反 | -| 11 | C 流程 | 编号连续 | 步骤内部编号不跳号 | 第一步→第三步缺第二步 | -| 12 | C 流程 | 无跳步 | 不跳过中间步骤 | 产物链 5→6→7 跳了一步 | -| 13 | C 流程 | 步骤间职责不越界 | 各步骤各管一段,不越界产出 | 后一棒把前一棒的场次表+情绪卡全塞进去 | -| 14 | C 流程 | 字段归属正确 | 字段由哪个步骤产出就标哪个 | 情绪设计卡标成后一棒,实际是前一棒 | -| 15 | C 流程 | 上游→下游不断裂 | 上游输出的字段,下游输入列表要引用 | 「目标体感」字段后两棒都没引用 | -| 16 | C 流程 | 引用路径正确 | 引用走对层级(流程→知识库→素材库) | 素材库误走直接路径,应走知识库间接引用 | -| 17 | C 流程 | 字段不缺失 | 每步的输入列表字段完整 | 某步输入缺「框架方案」 | -| 18 | C 流程 | 产物链完整 | 中间产物必须落盘(**P0**:只出最终产物=断链) | 只在对话里输出、没落盘 | -| 19 | D 表述 | 肯定表述 | 见 D⑩ | 描述里写「不用于海报」⇒ 匹配面反而把"海报"拉高 | -| 20 | D 表述 | 说人话 | 见 D⑪ | 四种 AI 味:三段式排比连用/"…着"结尾的肤浅分析/模糊归因/拆成加粗小标题+竖排碎句 | -| 21 | D 表述 | 一页纸 | 见 D⑫ | 一份 300 行的"速查" | +| 1 | A 环境配置 | 配置外置 | 见 A 段 | 本机路径写进入库代码 | +| 2 | A 环境配置 | 不写死本机 | 见 A 段 | `or r"D:\..."` 兜底;工作区清单写死 | +| 3 | A 环境配置 | 本机生成契约不入库 | 见 A 段 | 入仓后换机器"同名覆盖"改掉对方配置 | +| 4 | A 环境配置 | 路径形态统一 | 见 A 段 | 同一件事三处三说地写文档库路径 | +| 5 | A 环境配置 | 入仓按白名单 | 见 A 段 | 新技能独立了但白名单没加 ⇒ 仓里只剩指向仓外的引用 | +| 6 | B 结构 | 单一真源 | 见 §B #6 | 同一条判据散在 6 处,改一处漏一处 | +| 7 | B 结构 | 注入面与真源同源 | 见 §B #7 | 加条文顶破上限 ⇒ 尾部规则静默消失,下游只看到"已截断" | +| 8 | B 结构 | 命名一致 | 见 §B #8 | 「任务会话 31 处 / 执行会话 29 处」混用 | +| 9 | B 结构 | 正文不自相矛盾 | 见 §B #9 | 技能正文缺起实例命令、与另一处说法冲突 | +| 10 | C 流程 | 步骤顺序正确 | 见 §C #10 | 步骤排反 | +| 11 | C 流程 | 编号连续 | 见 §C #11 | 第一步→第三步缺第二步 | +| 12 | C 流程 | 无跳步 | 见 §C #12 | 产物链 5→6→7 跳了一步 | +| 13 | C 流程 | 步骤间职责不越界 | 见 §C #13 | 后一棒把前一棒的场次表+情绪卡全塞进去 | +| 14 | C 流程 | 字段归属正确 | 见 §C #14 | 情绪设计卡标成后一棒,实际是前一棒 | +| 15 | C 流程 | 上游→下游不断裂 | 见 §C #15 | 「目标体感」字段后两棒都没引用 | +| 16 | C 流程 | 引用路径正确 | 见 §C #16 | 素材库误走直接路径,应走知识库间接引用 | +| 17 | C 流程 | 字段不缺失 | 见 §C #17 | 某步输入缺「框架方案」 | +| 18 | C 流程 | 产物链完整 | 见 §C #18(**P0**) | 只在对话里输出、没落盘 | +| 19 | D 表述 | 肯定表述 | 见 §D #19 | 描述里写「不用于海报」⇒ 匹配面反而把"海报"拉高 | +| 20 | D 表述 | 说人话 | 见 §D #20 | 四种 AI 味:三段式排比连用/"…着"结尾的肤浅分析/模糊归因/拆成加粗小标题+竖排碎句 | +| 21 | D 表述 | 一页纸 | 见 §D #21 | 一份 300 行的"速查" |