mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-09 03:46:16 -08:00
47 lines
3.1 KiB
Markdown
47 lines
3.1 KiB
Markdown
# 每任务提交审计
|
||
|
||
`ENG-AUDIT-01`负责ENG-09的Git审计子项。运行`yarn check:commits`,或增加`--report`
|
||
将本次HEAD及完成记录写入`refactor/.cache/ci/commit-audit.json`。检查已接入`ci:check`,
|
||
GitHub日志artifact收集该报告。CI三个checkout使用完整历史:审计以及既有历史源码
|
||
兼容测试均依赖旧Git对象,浅克隆不能提供它们。
|
||
|
||
## 实际核对内容
|
||
|
||
脚本从可达Git历史读取每次tasks.json变化及其父提交,而不是从提交标题推断完成。
|
||
一项从非done转为done,必须在同一个提交包含:准确任务ID、tasks.json、生成plan.md、
|
||
存在于该提交树中的本地证据,以及至少一份该任务证据文件的实际变更。
|
||
|
||
普通完成提交只能完成一个任务。历史中的checkpoint不会被当作完成提交。合并时,
|
||
父分支已经done的任务沿用该分支的原始完成提交,不要求merge标题冒充任务完成。
|
||
当前工作区新增done但尚未提交会失败,已完成历史任务被从台账删除也会失败。
|
||
脚本核实起点与bootstrap提交可达;浅仓库明确报错,不悄悄跳过历史验证。
|
||
|
||
唯一合并完成例外固定为完整SHA `570600d2f6ffd580a890e0b87dfa9843bf8dd8d0`:
|
||
DOC-05携带先前已完成的DOC-01~04;要求该提交的新增done集合精确匹配这五项。
|
||
见 [原始说明](changes/2026-09-10-DOC-05-task-commits.md)。不能把例外按ID无限复用。
|
||
|
||
早期历史标题存在`test(BASE-04): ...`和`... ENG-04 ...`等格式。审计接受准确的任务
|
||
编号token,拒绝把TEST-010冒充TEST-01;这保留真实的独立提交,不是额外合并例外。
|
||
新增提交仍遵循AI工作流的`type(scope): [TASK-ID] description`格式。
|
||
|
||
## 本地实施顺序
|
||
|
||
1. 任务保持doing时运行适用测试、`ci:check`与审计;已提交的其他done任务必须可追溯。
|
||
2. 验收完成后将本任务标done,生成plan并暂存具体成果,立即独立提交。
|
||
3. 提交后再次运行`yarn check:commits --report`确认本任务的真实完成记录,并检查Git状态。
|
||
|
||
第2步尚未提交时审计会报告未提交完成,这是预期保护。没有“临时豁免”参数,也不能
|
||
在CI中通过环境变量绕过。审计不代替源码、测试结果或发布审查:证据文件共存不证明
|
||
其中断言有效,因此报告明确限制。它也不凭历史标题判断某个实现是否有足够测试。
|
||
|
||
## 验证和维护
|
||
|
||
`refactor/scripts/commit-audit.test.mjs`建立临时真实Git仓库,覆盖独立完成、固定
|
||
bootstrap例外、多个任务混在一提交、错误ID、缺plan/证据、复用未变化旧证据、路径
|
||
逃逸、未提交done、删除历史任务、浅仓库以及实际feature分支合并。临时仓库使用
|
||
专用作者,不修改用户Git配置;清理只针对已验证位于测试cache内的目录。
|
||
|
||
更改任务状态或提交政策时同时维护这些反例;禁止仅更新计数或忽略失败使审计变绿。
|
||
`ENG-IMPACT-01`继续处理影响范围,`ENG-COVERAGE-01`继续契约覆盖索引;本子项完成
|
||
不代表ENG-09整体、远端GitHub执行或npm发布门槛完成。
|