@weotro/dx 0.1.10 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -45,7 +45,7 @@
45
45
  | 模板 | Issue/PR 正文结构一律取自 `.github/`,禁止自造结构 |
46
46
  | Heredoc | 多行 Issue body、commit message、PR body、PR comment 必须用 heredoc |
47
47
  | 暂存 | 按明确路径 `git add <path>`,禁止 `git add -A` / `git add .` |
48
- | 验证 | 发 PR 前必须运行并记录相关验证;改代码后必须重跑 |
48
+ | 验证 | 发 PR 前必须有覆盖当前版本的相关验证记录;按下方证据复用规则补跑失效或缺失项 |
49
49
  | 正文质量 | 模板占位注释、`TODO`、`TBD`、「稍后补充」残留一律阻塞 |
50
50
  | 合并 | 只能 `gh pr merge --squash --auto`,禁止 `--admin` |
51
51
  | 真完成 | 必须轮询到 `mergedAt` 非空,并回访关联 Issue 状态 |
@@ -136,7 +136,7 @@ gh pr status
136
136
  | 当前分支已有 OPEN PR | 阶段七 | 上一行全部,外加阶段六的 PR body 读回校验与依赖冲突检查 |
137
137
  | 工作树干净、无分支差异、无 OPEN PR | 输出「无需交付」并结束 | — |
138
138
 
139
- 快捷入口只省掉已经做过的动作,不豁免任何门禁。补齐前禁止进入目标阶段:没有 Issue ID 就先建 Issue,分支不合规就先改分支,验证没跑过就先跑,依赖 PR 未真合并就停下。
139
+ 快捷入口只省掉已经做过的动作,不豁免任何门禁。先收集本次任务已有的验收、审查和验证记录,按下方证据复用规则核对。补齐前禁止进入目标阶段:没有 Issue ID 就先建 Issue,分支不合规就先改分支,验证缺失或失效就补跑,依赖 PR 未真合并就停下。
140
140
 
141
141
  阻塞条件:不在 Git 仓库;`gh auth status` 不可用;当前分支为 `main` 且无法创建新分支。
142
142
 
@@ -236,9 +236,30 @@ git diff --stat
236
236
 
237
237
  改动范围超出 Issue 目标、或引入未经说明的依赖时,主进程收敛回范围内,不带进提交。
238
238
 
239
+ ## 验收、审查与验证证据复用
240
+
241
+ 证据绑定代码和输入,不绑定「PR 创建前/后」或阶段编号。默认实现后做最低充分验证、提交并创建 PR,再在阶段七完成首次正式审查;进入本流程前已有的有效审查可以直接承接,无需为了发 PR 额外增加一轮。单纯 commit、push、创建 PR、更新正文或进入合并阶段不触发重审或重跑。
242
+
243
+ 每次完成验收、审查或权威验证时记录以下信息;先保存在本次任务记录中,创建 PR 后将来源与复用结论写入审查报告:
244
+
245
+ - **版本与范围**:仓库、目标 base 分支及其 SHA、merge-base、被检查的 HEAD 与 tree SHA、覆盖的 diff/文件和 Issue 验收标准。未提交改动用包含相关新增文件的内容快照标识;提交后核对实际内容一致,再关联 commit,不能只记录当时的 HEAD。
246
+ - **审查证据**:实际 reviewer、是否独立于实现/修复、报告来源、findings 及处理状态。实现者自检、方案咨询和一句「已审查」不能代替独立审查报告。
247
+ - **验证证据**:实际执行者、命令与参数、结果及日志来源、影响结果的环境/工具链/依赖和配置标识(不记录密钥)。验证过程中格式化、代码生成或钩子改了输入时,记录最终版本并补跑受影响项。
248
+
249
+ 复用前由主进程确认来源可读、范围充分、结论仍适用。主进程先前亲自执行并读取输出的验证可以复用;外部执行者的结果仍按入口运行时契约处理。混有无关工作树改动时,必须确认它们没有影响被验证的提交内容,否则在隔离的 worktree 验证目标版本。
250
+
251
+ | 当前状态 | 处理 |
252
+ |---|---|
253
+ | 内容、base、验收范围及相关验证输入均未变,证据完整 | 直接复用,记录来源;已有完整审查无需再次通读同一 diff |
254
+ | 只有 commit SHA 变化,tree、base 和其他输入一致 | 核对内容后将原证据关联新 HEAD,无需重跑 |
255
+ | 有新增修改、修复、验收标准变化,或 base/依赖/配置/环境变化 | 比较前后差异,复查增量及其影响的调用方、不变量和验收项;只重跑受影响的验证命令,保留未受影响证据并记录理由 |
256
+ | 缺少记录、无法确认版本一致或无法界定影响范围 | 补做缺失检查;无法界定影响时审查完整当前 diff,并执行阶段五适用的验证矩阵 |
257
+
258
+ 审查与验证分别判断是否可复用;测试通过不能代替代码审查。当前 diff 仍须过复杂度门禁:重改动只有自审记录时,仍需补齐 7.3 的条件式独立审查或按入口契约记录降级,才算审查完整。历史失败和未处理 findings 继续保留,不能因复用而改记为通过。PR 前已完成的独立外部审查计入同一交付的「每 PR 最多一次」额度;历史额度与当前覆盖范围分别记录,后续新增改动由主进程补审。
259
+
239
260
  ## 阶段五:验证与提交
240
261
 
241
- 按改动范围执行最低充分验证:
262
+ 按改动范围确定最低充分验证,复用有效记录,仅执行缺失或失效项:
242
263
 
243
264
  | 改动范围 | 必跑命令 |
244
265
  |---|---|
@@ -277,6 +298,8 @@ MSG
277
298
 
278
299
  标题必须是 Conventional Commit。既有问题的顺手修复单独用 `chore(precheck):` 提交,与本次功能改动分开。
279
300
 
301
+ 提交后核对 commit 内容与验证快照一致;提交钩子或暂存范围造成内容差异时,按证据复用规则补验,再进入阶段六。
302
+
280
303
  ## 阶段六:PR 创建或更新
281
304
 
282
305
  ```bash
@@ -334,7 +357,7 @@ git merge --no-commit --no-ff origin/main
334
357
 
335
358
  ## 阶段七:审查修复循环
336
359
 
337
- 最多 3 轮。每轮四件事:Issue 验收、验证流水线、代码审查、逐项修复。
360
+ 最多 3 轮实际审查修复。首次进入先核对已有证据,每轮只补齐 Issue 验收、验证流水线、代码审查和逐项修复中的缺失或失效项。证据全部有效且满足终止条件时,发布复用报告后直接进入阶段八;复用不算新一轮审查。
338
361
 
339
362
  ### 7.1 Issue 验收(主进程)
340
363
 
@@ -343,7 +366,7 @@ gh issue view <ISSUE_ID> --json title,body,state
343
366
  gh pr diff <PR_NUMBER>
344
367
  ```
345
368
 
346
- 逐条核对验收标准:
369
+ 先确认 Issue 标准及 PR diff 相对已有记录的变化。已有证据覆盖的验收项直接引用;对新增、变化或缺证据的标准逐条核对:
347
370
 
348
371
  | 状态 | 后续 |
349
372
  |---|---|
@@ -354,16 +377,16 @@ gh pr diff <PR_NUMBER>
354
377
 
355
378
  ### 7.2 验证流水线(主进程)
356
379
 
357
- 重跑阶段五中与本轮改动相关的命令。失败必须保留完整错误:文件、行号、命令、失败摘要。
380
+ 按证据复用规则补跑阶段五中缺失或受本轮变化影响的命令;阶段五或上一轮修复后已验证同一输入时直接引用结果。失败必须保留完整错误:文件、行号、命令、失败摘要。
358
381
 
359
382
  ### 7.3 代码审查
360
383
 
361
- 每轮由主进程自审:通读 `gh pr diff` 全部改动,顺手核查 diff 涉及文件内的真实 bug,不主动扩大到无关模块。
384
+ 主进程先核对已有审查的版本、范围、reviewer 和问题处理状态。没有有效审查时通读 `gh pr diff` 全部改动;已有完整有效审查时直接复用,有后续修改时只审增量及受影响上下文。无法界定影响范围时恢复完整审查。核查 diff 涉及文件内的真实 bug,不主动扩大到无关模块。
362
385
 
363
386
  外部专家独立审查是条件式补充,同时满足两条才派发:
364
387
 
365
388
  1. 实际 diff 命中**复杂度门禁**任一信号(重改动)。
366
- 2. PR 尚未用过外部专家审查——同一 PR 最多一次,覆盖整个 PR 生命周期;派发前查本 PR 已有审查报告评论的 reviewer 字段,出现过外部专家即只由主进程复审后续修复。轻改动 PR 的这次额度可以留到后续 diff 扩大首次命中信号时再用。
389
+ 2. 本次交付尚未用过外部专家审查——同一 PR 最多一次,含创建 PR 前对本次交付的独立审查;派发前查任务记录与本 PR 已有报告的 reviewer、独立性和覆盖范围,确认已有独立外部审查即只由主进程补审未覆盖的改动。轻改动 PR 的这次额度可以留到后续 diff 扩大首次命中信号时再用。
367
390
 
368
391
  使用入口技能声明的 review 通道。需要挑战实现方案、状态机、不变量或安全边界时改用 adversarial review;需要对照 Issue 验收标准或排除已确认问题时,把定制上下文一并传入。
369
392
 
@@ -388,6 +411,8 @@ gh pr comment <PR_NUMBER> --body-file - <<'MSG'
388
411
  - Critical:0 / Major:0 / Minor:0
389
412
  - reviewer:主进程自审 / 外部专家 review / 外部专家 adversarial review
390
413
  - 复杂度门禁:轻改动(未命中信号)/ 重改动(命中信号 N);外部专家额度:未用 / 本轮已用 / 此前已用
414
+ - 证据:base / merge-base / HEAD / tree;验收、审查与验证各自的原记录来源和覆盖范围
415
+ - 本次处理:复用 / 增量补查 / 首次完整检查;变化与失效原因(如有);复用报告沿用原轮次
391
416
 
392
417
  ### 验证流水线
393
418
 
@@ -413,7 +438,7 @@ MSG
413
438
 
414
439
  修复默认主进程直接改;只有单条修复自身命中**复杂度门禁**信号(判定的是这次修复的改动面,不是原问题的严重级)才派外部专家,规则同阶段四。
415
440
 
416
- 修复后重跑相关验证,并发布修复报告评论,列出已修复项及其 commit、拒绝项及理由、follow-up 项及 Issue 编号。
441
+ 修复后复查问题与受影响上下文,重跑受影响的验证并更新证据,再发布修复报告评论,列出已修复项及其 commit、拒绝项及理由、follow-up 项及 Issue 编号。下一轮直接承接这些证据。
417
442
 
418
443
  ### 循环终止
419
444
 
@@ -423,10 +448,10 @@ MSG
423
448
 
424
449
  ## 阶段八:合并
425
450
 
426
- 合并前最后一次运行相关验证并发布验证总结评论,列出各步骤状态与实际命令、审查轮数与问题统计。验证失败时禁止写「可合并」。
451
+ 合并前读取 PR 的最新 `headRefOid`、base 并刷新目标分支,核对远端 head 与本地已检查提交一致、相关工作树输入与证据一致。若有变化,按证据复用规则回到阶段七补齐;全部有效时直接发布验证总结评论,引用已完成的实际命令与证据来源、审查轮数和问题统计。验证失败时禁止写「可合并」。
427
452
 
428
453
  ```bash
429
- gh pr merge <PR_NUMBER> --squash --auto
454
+ gh pr merge <PR_NUMBER> --squash --auto --match-head-commit <已核对的HEAD_SHA>
430
455
  gh pr view <PR_NUMBER> --json state,mergedAt,url
431
456
  ```
432
457
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weotro/dx",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -86,7 +86,7 @@ LIVE
86
86
 
87
87
  - 阶段四方案讨论:只读 Codex agent;主进程先写初步方案,最终拍板权在主进程。
88
88
  - 阶段四实现与阶段 7.4 重修复:可写 Codex agent,prompt 要求不 commit、不 push、不碰 GitHub、不递归委派。
89
- - 阶段 7.3:复杂度门禁命中且本 PR 尚未用过 Codex 审查时执行 review;需要挑战方案时执行 adversarial review。
89
+ - 阶段 7.3:先按共享流程复用已有审查;复杂度门禁命中且本次交付尚未用过 Codex 独立审查时执行 review(创建 PR 前的审查也计数);需要挑战方案时执行 adversarial review。
90
90
  - reviewer:`Claude Code 主进程自审 / codex native review / codex adversarial review / codex 只读 subagent`。
91
91
 
92
92
  Codex 返回后主进程必须直读源码和 diff 核验,不采信转述。重改动实现通道不可用时阻塞;条件式独立审查不可用时由主进程完成本轮自审并在报告标明降级。
@@ -37,9 +37,9 @@
37
37
 
38
38
  取得结果、等待停止、处理部分改动、接续或降级均按依赖技能执行。主进程取得最终结果后直读源码和 diff,核验结论、合并重复项并记录拒绝依据;仅派发成功或返回成功声明不算阶段完成。
39
39
 
40
- 外部执行者的验证仅作参考。交接材料附本阶段需补跑的清单,并要求报告未运行的验证及原因;阶段五及后续轮次的全部权威验证仍由 Codex 主进程重新执行并阅读最新输出。
40
+ 外部执行者的验证仅作参考。交接材料附本阶段需补跑的清单,并要求报告未运行的验证及原因;权威验证由 Codex 主进程执行并阅读输出。主进程已有验证按共享流程的证据复用规则承接,后续阶段只补跑缺失或失效项。
41
41
 
42
- 阶段 7.3 仍服从共享流程的复杂度门禁和每 PR 最多一次外部专家审查约束。此前报告中的外部专家审查继续计数;同一阶段因证据不足补充材料或按依赖技能降级,不能被当作后续轮次重新派发审查的额度。
42
+ 阶段 7.3 仍服从共享流程的证据复用、复杂度门禁和每 PR 最多一次外部专家审查约束。创建 PR 前已有的独立外部审查也继续计数并按覆盖范围复用;同一阶段因证据不足补充材料或按依赖技能降级,不能被当作后续轮次重新派发审查的额度。
43
43
 
44
44
  reviewer 按实际执行者记录为 `Codex 主进程自审`、`Claude Code(ask_cc)review/adversarial review` 或实际降级执行者,并记录依赖技能返回的请求模型及降级情况。实现与修复记录使用 `delegate-cc task` 及实际执行者;自身接管的审查记为自审,不计入外部专家审查。
45
45