Files
dsh_ai1net_server/dsh-server-docs/scripts
admin c25609c4c1 feat(cost): 路径自检 —— hooks 指向失效 / 配置被清空时自动上报(用户选 A)
**来历(2026-09-15 实测事故)**:文档库被整目录搬到 `_中间产物_待清理/` ⇒ 宿主 hooks 仍指向旧位置
⇒ **锁闸门静默失效**;当时唯一线索是"`lock-hook.log` 今天 0 条 PreToolUse",而**没人会主动去数**。

`stop-dialog-guard.py` 新增 `path_health()`(每轮随 `UserPromptSubmit` 跑):
1. **从 `settings.json` 现读** hooks 的 command ⇒ 抽出其中的 `.py` 逐个 `os.path.exists`
   (配置里是权威指向 ⇒ 能发现"指向了不存在的文件",正是今晚那种形态)
2. **hooks 里没有任何 command 条目** ⇒ 报"可能被清空 / 被整段覆盖"(用户记忆里的真实风险)
命中即经 `UserPromptSubmit` 注入「🚨【路径自检】…请立刻上报用户」。
**fail-open**:读不到配置就直接跳过,绝不因体检本身误报。

⚠️ 设计取舍(实测发现):**没有**去做"文档库是否在预期位置"的检查 —— 新位置在**另一个盘**
(`D:/github/dsh_shenxian`),硬编码候选路径会**误报**;而检查 ① 已能覆盖同一类事故。
实测三种情形:真实环境**不报** ✓ | 指向不存在脚本**报** ✓ | hooks 被清空**报** ✓
2026-09-15 22:06:36 +08:00
..