7.9 KiB
不规则内容导入 — 手动验证结果报告(7 种格式全量)
验证信息
| 项 | 值 |
|---|---|
| 验证日期 | 2026-09-07 |
| 验证功能 | 自定义规则导入——不规则规则内容(重噪声嵌入)的 7 种文件格式逐一导入 |
| 导入素材 | data/import-verification/03-irregular-content/team-coding-rules.*(7 个文件) |
| 导入结果 | data/import-verification/03-irregular-content/results/irregular-*.yaml(7 个文件,已全部移出激活目录归档) |
| 规则基准 | 与场景②相同的 12 条规则(id 亦相同),severity 基准 error×2 / warning×5 / info×5 |
| 噪声设计 | 项目背景、团队介绍(12 人分工)、会议纪要、部署流程、版本历史、反面/正面代码示例(硬编码密码 Admin@123456、eval 调用、三层循环等)、内部 wiki 链接、Checklist |
| 验证方式 | 在 Extension Development Host 中手动执行完整导入流程(含预览确认),每轮结果落盘核对后归档 |
素材矩阵
| # | 文件 | 格式 | 导入路径 | AI 内容转换 |
|---|---|---|---|---|
| 1 | team-coding-rules.yaml | YAML(噪声全在注释) | YamlConverter 直读 | 否 |
| 2 | team-coding-rules.md | Markdown(噪声为真实正文) | 读文本 → AI(freeform) | 是 |
| 3 | team-coding-rules.txt | 纯文本 | 读文本 → AI(freeform) | 是 |
| 4 | team-coding-rules.docx | Word | mammoth 提取 → AI(freeform) | 是 |
| 5 | team-coding-rules.pptx | PowerPoint | officeparser 提取 → AI(freeform) | 是 |
| 6 | team-coding-rules.xlsx | Excel 单表 | 表格 → Markdown → AI(spreadsheet) | 是 |
| 7 | team-coding-rules-multi-sheet.xlsx | Excel 多表 | 逐表渲染合并 → AI(spreadsheet) | 是 |
(无 template 轮:模板路径为严格表头校验直读,不适配不规则内容场景。)
逐轮结果总表
| 轮 | 格式(规则名) | 检出条数 | severity | languages | id 与基准 | 去重标注 | 结论 |
|---|---|---|---|---|---|---|---|
| 1 | yaml(irregular-yaml) | 12/12 | ✅ 全对 | ✅ 全对 | 逐字节一致 | 预览阶段独立去重 | 通过 |
| 2 | md | 12/12 | ✅ 全对 | ✅ 全对 | 漂移(语义等价) | 3 exact,指向真实 | 通过 |
| 3 | txt | 12/12 | ✅ 全对 | ✅ 全对 | 漂移 | 3 exact,同构 | 通过 |
| 4 | docx | 12/12 | ✅ 全对 | ✅ 全对 | 漂移 | 3 exact,同构 | 通过 |
| 5 | pptx | 12/12 | ✅ 全对 | ✅ 全对(零丢失) | 漂移 | 3 exact,同构 | 通过 |
| 6 | xlsx 单表 | 12/12 | ✅ 全对 | ✅ 全对 | 完全一致 | 2 exact + 1 overlap(见发现 3) | 通过 |
| 7 | xlsx 多表 | 12/12 | ✅ 全对 | ✅ 全对 | 完全一致 | 3 exact,回归同构 | 通过 |
关键发现
1. 噪声过滤全场景零失守(本场景核心目标达成)
7 轮全部通过以下陷阱测试:
- 项目背景、团队介绍(12 人分工)、会议纪要(「决定在 async 函数中全面禁用同步 API」)、部署流程、版本历史(张三/李四/王五)、Checklist、内部 wiki 链接——均未变成规则
- 反面示例陷阱零触发:代码示例中的
"Admin@123456"、eval(request.body)、maxRetry = 3等错误示范未被生成为规则,也未污染规则语义 - 叙事与规则分离:如「上周代码审查中发现前端模块有 eval() 调用」的叙事上下文被剥离,只提取规则本身
2. pptx 语言字段差异根因定案:源文件内容差异,AI 两轮行为均正确
| 证据 | languages 表现 |
|---|---|
| 场景② pptx | 留空 6 处(当时误判「降级/丢失」) |
| 旧散落结果 rules_ppt.yaml | 大面积留空 |
| 本场景 pptx(噪声更重、文件更大 45KB) | 零留空,8 处全对 |
| 场景② pptx 重测(2026-09-07) | 留空模式与首测逐字段复现 |
| officeparser 提取文本比对(2026-09-07) | 02 源文件 950 字符中无任何「适用语言/排除语言」标注;03 源文件含成组「严重级别 | 语言」标注及「排除语言:sql」 |
定性演进三版:格式缺陷(02 初稿)→ 高方差(03 初稿,被重测推翻)→ 提取层丢失(被提取比对推翻)→ 最终定案:源文件内容差异。02 pptx 幻灯片只写了 severity([error]/[warning]/[info] 前缀)没写语言,03 pptx 两者都写了。AI 侧两轮行为均正确:源有的正确映射(含 excludeLanguages: [sql]),源无的按「严禁猜测,留空比猜测错误更安全」留空,语义可推的唯一一条(描述含「TypeScript 类型」)正确推断 [typescript]。这 6 处留空从来不是「丢失」——源文件没有的数据不能叫丢失。制作 pptx 规则素材时,如需语言限定必须在幻灯片中显式标注适用语言。
3. 去重判断方差实锤:同一规则跨轮在 exact 与 overlap 间摆动
- xlsx 单表轮:no-hardcoded-credentials 被判 overlap(保留生效)——与前 12 轮历史(exact)不同,且两条规则检测目标几乎重合、语言集合相同,exact 更贴切
- multisheet 轮:回归 exact(注释)
- 实际影响:overlap 判保留时该规则与 custom/no-hardcoded-secret 并存双报。定性为 AI 判断方差(与 galaxy 轮次波动同源),预览面板人工复核是设计内的必要补偿
- 附加证据:docx 轮魔法数字规则 id 为
avoid-magic-numbers(与既有规则 id 前缀完全不同),仍被精准标注为 custom/no-magic-numbers 的 exact——去重的语义性(与 id 无关)得到最直接验证
4. 表格类格式稳定性跨场景复现,multisheet 打出跨场景字节级一致
- xlsx 单表、multisheet 两轮的 9 条保留规则 id 再次全部与 yaml 基准一致(「结构化表格 → id 收敛」跨场景复现;自由文本四轮 id 依旧逐轮漂移)
- multisheet 轮落盘文件与场景② multisheet 结果逐字节一致(fc 0 差异),且场景②内 multisheet ≡ xlsx 单表——推导链
02-xlsx ≡ 02-multisheet ≡ 03-multisheet:AI 从两份完全不同的源文档(15KB 标准多表 vs 24KB 重噪声多表)收敛到同一字节级输出,spreadsheet 链路稳定性拿到最强证据
5. id 漂移全景
自由文本格式(md/txt/docx/pptx)的 AI 生成 id 逐轮漂移(本轮新组合:constant-naming、boolean-variable-prefix、require-explicit-types、no-todo-fixme-hack 等),仅个别巧合重合(no-todo-comments、require-doc-comments 在 02/03 的 md 轮均出现)。含义相同的规则若以不同格式多次导入并存将双报——每轮归档移出激活目录即为规避此问题。
已知观察
- xlsx 轮注释块尾部各多一行孤立
#(外观残留,无功能影响) - 去重方差的管理含义:exact/overlap 判定在边界案例上有摆动,重要场景导入后应在预览面板复核重复分组(与 guide.md 归档流程互补)
- 本场景 yaml 轮噪声全部藏在注释中,对解析器无挑战(真正考验由 md/txt/docx/pptx/xlsx 承担)
结论
通过。7 种格式全部成功导入 12 条规则基准:重噪声零膨胀、反面示例陷阱零触发、severity 零偏差。场景②的 pptx 疑问在本场景得到最终定案:语言字段差异源于源文件内容差异(02 源无语言标注、03 源有),AI 两轮行为均正确,不存在降级或丢失;表格类格式稳定性获得跨场景字节级一致的强证据。去重语义性(avoid-magic-numbers 案例)与判断方差(hardcoded-credentials exact/overlap 摆动)均有实测记录。
关联
- galaxy 素材验证报告:
data/import-verification/01-galaxy-nonstandard/result-report.md(真实世界非标准格式场景) - 标准格式验证报告:
data/import-verification/02-standard-formats/result-report.md(8 种格式,含 pptx 降级原始记录) - 自动化测试:
tests/excel-converter.test.ts(转换器渲染层) - 设计 spec:
docs/superpowers/specs/2026-07-26-custom-rule-import-ux-design.md