Files
2026Technology-Competition/data/import-verification/03-irregular-content/result-report.md
T

7.9 KiB
Raw Blame History

不规则内容导入 — 手动验证结果报告(7 种格式全量)

验证信息

验证日期 2026-09-07
验证功能 自定义规则导入——不规则规则内容(重噪声嵌入)的 7 种文件格式逐一导入
导入素材 data/import-verification/03-irregular-content/team-coding-rules.*7 个文件)
导入结果 data/import-verification/03-irregular-content/results/irregular-*.yaml7 个文件,已全部移出激活目录归档)
规则基准 与场景②相同的 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(噪声为真实正文) 读文本 → AIfreeform
3 team-coding-rules.txt 纯文本 读文本 → AIfreeform
4 team-coding-rules.docx Word mammoth 提取 → AIfreeform
5 team-coding-rules.pptx PowerPoint officeparser 提取 → AIfreeform
6 team-coding-rules.xlsx Excel 单表 表格 → Markdown → AIspreadsheet
7 team-coding-rules-multi-sheet.xlsx Excel 多表 逐表渲染合并 → AIspreadsheet

(无 template 轮:模板路径为严格表头校验直读,不适配不规则内容场景。)

逐轮结果总表

格式(规则名) 检出条数 severity languages id 与基准 去重标注 结论
1 yamlirregular-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-namingboolean-variable-prefixrequire-explicit-typesno-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(转换器渲染层)
  • 设计 specdocs/superpowers/specs/2026-07-26-custom-rule-import-ux-design.md