Skip to content

feat(review-gates): findLatestReview 支持址B docs/audits/task-review/ 扫描与命名口径 - #36

Open
Cyning12 wants to merge 1 commit into
mainfrom
feat/review-gates-dual-address
Open

Cyning12 wants to merge 1 commit into
mainfrom
feat/review-gates-dual-address

Conversation

@Cyning12

Copy link
Copy Markdown
Owner

概要

findLatestReview(src/checks/review-gates.ts)扫描面扩第三址 docs/audits/task-review/(址B),并支持址B 命名口径 YYYYMMDD_<slug>_r<n>.md——下游仓(ops-desk-api)双址规约 CONVENTION_review_gate_dual_address_v1_zh.md 的上游根治。

Closes #35

改动

  • src/checks/review-gates.ts findLatestReview:
    • dirs 扩三址(docs/harness/reviews · reviews · docs/audits/task-review),址B 不存在时 existsSync continue 零噪音(同址A 口径)
    • 命名口径按址绑定不串址:址A 两目录只认 task_<slug>_audit_R<n>_*.md;址B 只认 YYYYMMDD_<slug>_r<n>.md
    • 址B slug 匹配:normalizeSlug 归一(dash ↔ underscore)+ 去 task_ 前缀 + _v<n> 后缀剥离(同址A 口径)
    • 跨址合并沿用既有「最高 R 轮取最新」语义(同轮冲突按文件名序 · 确定性)
    • findReview 布尔投影同源同治(status / dry-run / verify 消费面自动获益 · 零调用点改动)
  • test/cli-verify-review.test.ts:+4 用例(址B 单落 PASS · 址A 式命名落址B 不认反向钉死 · 跨址取最高 R 轮 · _v<n> 后缀剥离)

非范围(登记 follow-up)

红绿对照证据

RED(实现前 · 本分支测试先行):

✖ 址B 单落(不落址A)→ VERIFY: PASS · exit 0 — AssertionError(verify 误报 missing R<n> review BLOCKED)
✖ findLatestReview 跨址合并取最高 R 轮:址A R1 + 址B r2 → round=2 — actual: null
✖ findLatestReview 址B slug 去 _v<n> 版本后缀生效 — actual: null
ℹ pass 9 / fail 3(既有 8 用例全绿 · 反向钉死用例绿)

GREEN(实现后):

test/cli-verify-review.test.ts: ℹ tests 12 · pass 12 · fail 0
npm run typecheck: 干净
npm test(全量): ℹ tests 989 · pass 988 · fail 0 · skipped 1

下游实证背景(issue #35 详录)

误报两起在案:task_hitl_auto_resume_claim_race(审查文落址B → verify BLOCKED 误报)· B1/B2 两 task 同型。下游过渡纪律「必须落址A + 可双落」待本 PR 发版后收口(钉版 bump + 「址B 单落即绿」实证 + 解除双址复制强制)。

…与命名口径

Closes #35

- 扫描面扩第三址 docs/audits/task-review/(址B · 下游双址规约上游根治)
- 址B 命名口径 YYYYMMDD_<slug>_r<n>.md:normalizeSlug 归一(dash↔underscore)+ 去 task_ 前缀 + _v<n> 后缀剥离
- 命名口径按址绑定不串址(址A 只认 task_*_audit_R<n>_* · 址B 只认 YYYYMMDD_<slug>_r<n>)
- 跨址合并沿用最高 R 轮取最新语义;址B 目录不存在零噪音(existsSync continue)
- findReview 布尔投影同源同治;spec 扫描面不扩(址B 语义为 task-review · 登记 follow-up)
- 单测 +4:址B 单落 PASS / 不串址反向钉死 / 跨址取最高 R / _v<n> 后缀剥离(红绿对照在案)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

findLatestReview 支持址B docs/audits/task-review/ 扫描与命名口径(双址规约上游根治)

2 participants