From 92a51c7edfa47e13bdbe1535f66cb6158274eeb8 Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Fri, 25 Sep 2026 07:47:13 +0800 Subject: [PATCH] =?UTF-8?q?docs(tooling):=20=E5=88=A4=E6=8D=AE=E5=8F=A3?= =?UTF-8?q?=E5=BE=84=E6=94=B6=E7=B4=A7=E5=90=8E=E5=90=8C=E6=AD=A5=E6=9C=AC?= =?UTF-8?q?=E8=8A=82=20=E2=80=94=E2=80=94=20"=E5=8F=AF=E5=AE=9A=E4=BD=8D?= =?UTF-8?q?=E7=9A=84=E9=9D=9E=E8=87=AA=E8=BA=AB=E5=BC=95=E7=94=A8"?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E4=BF=AE=E6=AD=A3=20reset-demo.sh=20?= =?UTF-8?q?=E9=82=A3=E8=A1=8C**=E6=8C=87=E9=94=99=E4=BA=86=E6=9D=A5?= =?UTF-8?q?=E6=BA=90**?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `b16c38a` 把判据从"这个名字出现过吗"收紧成"引用必须带路径"。本节当时写的还是旧口径 ("至少一处非自身引用")⇒ 文档与判据不同步,读的人会以为裸名也算。 ★ 并修正一行**本来就错的**引用: ``` reset-demo.sh 原写: 发现路径 = `client/electron/README` 与演示脚本族 实测(收紧后逐工具列来源): reset-demo.sh 的路径限定来源 = docs/DEV-TOOLING.md(本节表格)+ deploy/prune-deploy-artifacts.sh 注释 ⇒ `client/electron/README` **根本不在判据的 SCAN 范围内**(SCAN_DIRS 无 client/electron) 所以它作为"发现路径"是**无效引用** —— 原文把它写成了依据,而判据从不看那里。 ``` ⇒ 改成实测的两个来源。 验证: 收紧后 5/5 非门禁工具**全部**仍有路径限定来源,且**没有一个**依赖我的分析日志 (`docs/API.md` 对 5 个工具的路径限定命中 = 0/5);criteria-hygiene 9/9。 --- docs/DEV-TOOLING.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/DEV-TOOLING.md b/docs/DEV-TOOLING.md index 925be6b..8ba992f 100644 --- a/docs/DEV-TOOLING.md +++ b/docs/DEV-TOOLING.md @@ -133,16 +133,24 @@ bash deploy/prune-deploy-artifacts.sh --self-check # 判据自检(16 项, 不强制接线,但必须**有发现路径** —— 否则它存在,而没人会知道它存在。 判据在 `criteria-hygiene` 的「非门禁工具必须有发现路径」:每个非门禁 `deploy/*.sh` -至少要有**一处非自身引用**(文档 / 入口 / 别的工具)。实测它建起来时抓到的第一个孤儿 +至少要有**一处可定位的非自身引用**(文档 / 入口 / 别的工具)。实测它建起来时抓到的第一个孤儿 就是 `archive-stale-sessions.sh`(全仓零引用)。 +★ **"可定位"= 引用必须带路径(`deploy/<工具名>`),裸名不算** —— +判据从"这个名字出现过吗"收紧成"读者能照着走到它吗"(`c155560`)。 +理由是一个实测的**假绿**:只在分析日志里提一句裸名,就能让真孤儿判绿 —— +判据分不清「我在讨论里提到它」与「有人会照着这条信息找到它」,而本仓的分析日志全是前者。 +⚠️ 它**不是**按文件名豁免(那是给逃逸指路);判据落在**引用的形态**上: +任何文件里的路径限定引用都算数,任何文件里的裸名都不算。 +⇒ 所以下表每一行的发现路径,写法上都是**路径限定**的(标题/表格/注释里的全路径)。 + | 按需工具 | 发现路径 | |---|---| | `deploy/prune-deploy-artifacts.sh` | 本节上方专节 | | `deploy/recount-relay-counts.sh` | 本节(口径复算;被 `docs/DEBTS.json` 引用) | | `deploy/archive-stale-sessions.sh` | 本节 —— 归档陈旧会话(`--dry-run` 先看) | | `deploy/prune-test-sessions.sh` | `docs/DEV-TOOLING.md` 的清理表、`redeploy-gateway.sh` 注释 | -| `deploy/reset-demo.sh` | `client/electron/README` 与演示脚本族 | +| `deploy/reset-demo.sh` | `docs/DEV-TOOLING.md` 的清理表、`deploy/prune-deploy-artifacts.sh` 注释 | ⚠️ 同名判别器的**两个不同机制**(别混): ```