已关闭
test: validate-ai-record record 模式的 section_content 无自动化覆盖(占位符/注释/早断分支) #629
aflyingto创建于  4 天前关闭于  4 天前
aflyingto成员
4 天前 创建

背景

  • PR !601(issue 614)为 validate-ai-record.py 引入的标题式字段 section_content(注释跳过 + 早断 + 占位符过滤)约 20 行真实逻辑,record 模式仅人工触发——make validate-ai-templates 与 CI 均只跑 template 模式,record 路径的回归将完全静默
  • 测试评审判定(P3):与其余 kind 的"扁平字段一行判断"不同,本函数有真实分支逻辑;仓内已有 Python 测试先例(tests/test_wrapper.py 在 CI 运行)

任务

  • 为 record 模式的 section_content 补自动化覆盖:fixture 填充记录 + 负例(空章节 / 纯注释章节 / 占位符未替换 / 仅子标题有内容)经 make 目标或 unittest 执行,约 30-60 行
  • 可顺带覆盖列表式 kind 的 record 行为(现状同样无自动化)

验收标准

  • 负例全部被抓、正例通过,且在 CI 中执行(或经 make 目标纳入既有校验入口)

影响范围

scripts/validate-ai-record.py(或新增测试文件)、Makefile、CI 工作流(如需)

来源: PR !601 测试审查 P3

likedislike
Aaflyingto成员
4 天前 添加了label:scope/testing, status/triage,type/test
aflyingto成员
4 天前 评论:

验证记录

  • 当前版本或分支: main @ 087a146
  • 验证时间: 2026-10-26
  • 复现命令: grep -rn "record" Makefile | grep -c unittest(0——make 目标仅 template 模式);grep -n "unittest" .github/workflows/ci.yml(仅 tests.test_wrapper)
  • 实际结果: section_content 约 20 行分支逻辑(注释跳过/早断/双形态占位过滤)无任何 CI 路径触达——make validate-ai-templates 与 CI 均只跑 template 模式,record 回归完全静默;且 tests/test_verify_remote_facts.py 虽存在但从未接入 CI(GitHub 仅跑 test_wrapper)——issue 主张属实并附新发现
  • 预期结果: record 模式负例全部被抓、正例通过,且在 CI 中执行
  • 时间线检查: 本 issue 为 PR !601 测试审查 P3 登记(2026-10-26 创建),!601 已合入(占位符语义定型:整行/列表形态/混合草稿),无重复、无先行 PR;仓内 Python 测试先例(test_wrapper 在 CI、test_verify_remote_facts 经 importlib 加载连字符脚本)
  • 结论: 继续修复——新建 tests/test_validate_ai_record.py(importlib 模式,四组用例:section 语义 / 字段共存 / record 负例含混合草稿 / 出厂行为对齐)+ GitHub ubuntu test job 接线扩展为三模块(顺带修复 test_verify_remote_facts 从未进 CI 的既有缺口)+ §2.1 job 表措辞同步
likedislike
Aaflyingto成员
4 天前 添加了label:status/verified;删除了label:status/triage
Aaflyingto成员
4 天前 添加了label:status/in-progress
Aaflyingto成员
4 天前 关联了pull request:test: cover the record-mode validator under CI
Aaflyingto成员
4 天前 添加了label:status/ready-for-review
aflyingto成员
4 天前 评论:

开发进度

  • 当前状态: ready-for-review(PR !603 已完成自检、四角色独立评审一次闭环全部 approved、双端 CI 全绿,等待人工最终确认与合并)
  • 根因: record 模式校验器分支逻辑无 CI 触达(make/CI 均只跑 template 模式),回归静默;test_verify_remote_facts 存在但从未进 CI(详见验证记录)
  • 主要修改: tests/test_validate_ai_record.py(四组 14 用例)+ GitHub CI Python 单测扩三模块 + §2.1 措辞
  • 影响范围: 纯测试 + CI 步骤扩展;结构不变量零触碰(contracts 全过)
  • 单元测试: go test ./... 163 包全过;Python 三模块 29 用例全过
  • 构建: 无涉
  • 实际命令验证: 14 用例本地全过;GitHub CI 首跑三模块接线 29 用例随 CI 通过(自证)
  • 安全影响: 无(纯本地测试,无网络/凭证面)
  • 文档同步: §2.1 措辞;GitCode 侧 Python 单测缺口显式记录
  • 风险或未覆盖项: risk/medium,合并前需人工最终确认;GitCode CI Python 接线为独立缺口(宜独立 issue)
  • 关联 PR: !603
likedislike
Aaflyingto成员
4 天前 关闭了 issue
Aaflyingto成员
4 天前 添加了label:status/merged