SuperAPI AI 工具集

harden

测试与质量

查看项目

更新于 10-15 16:49

技能介绍

用途:对 OpenTUI 的变更做一轮“加固”,默认范围为 git diff main...HEAD,用户可缩小范围。核心思路是:测试全绿不等于变更正确,缺陷常藏在跨层接缝、状态机交错、硬限制和单元边界处。使用前先读 AGENTS.md,并加载 tigerstyle、code-simplification 与 adversarial-code-review 技能。

主要步骤:

  1. 度量未覆盖:在 packages/native 与 packages/core 分别运行 bun run test:branch-cov,输出未覆盖分支臂、错误返回、switch case 与函数位置。
  2. 追踪与反驳:对每个变更函数列出分支臂,与契约(opentui.h、文档、main 上的行为)比较;候选缺陷必须尝试反驳失败后才算缺陷,并用仓库外临时探针复现。缺陷需记录位置、触发条件、预期与实际行为、严重性、证据与回归测试。main 上也存在的缺陷要记录,但不修复,除非阻碍分支修复。
  3. 在行数预算下修复与简化:先写会失败的回归测试,再修复并让测试通过,测试与修复一起提交;未覆盖分支按“删除、断言、覆盖”的优先顺序处理。要求源码净增行数不超过零、测试净增行数为负,源码新增需在提交信息中给出一行理由;改后重跑步骤 1 确认分支消失。
  4. 独立复查:由未参与编写的会话检查每条回归测试在其修复提交的父提交上确实失败,用两三种合理方式破坏代码并确认有测试失败,列出合并测试移除的断言与行为变化的主 API。

使用方式与限制:在新 worktree 中编辑(git worktree add -b harden/<topic> ../ot-harden-<topic> HEAD),不要用 git stash,因为 worktree 共享 stash 且其中可能有用户工作。命令必须前台运行,不得在后台任务运行时结束回合。大变更按子系统拆分,先并行做步骤 1、2(不编辑),再各自在独立 worktree 完成步骤 3、4 并合并到集成分支,由一个编排者维护唯一追踪文件。具体命令参见 references/coverage-tools.md,测试形态见 references/test-shapes.md,断层位置见 references/fault-lines.md。其余如收费、平台与具体实现细节,资料未提供。