# 军火库自用断供评估(对 world-map 知识库自身) > 任务:把 `meta/brand-vi-research/` 的军火库(62 模式 / 13 处境 / 34 类错误) > 当作工具,用来裁决**本仓库自己的**三个真实决策,看它在哪里断供。 > **不提名新变量。** 只检验已有工具能不能用。 ## 0. 前置证据(已落盘) - PITFALLS.md:`wc -l` = **1428**,本轮实读**第 1–1428 行全文**,读完核对行数一致。 - 口径:`wc -l` 记的是换行符数;本报告所有「行号」均按该文件实际行号引用。 ## 1. 三个决策的现状(先读仓库,不假设) ### 决策一:徽章系统(README 顶部三枚 badge) (待填) ### 决策二:5 层骨架图(L1 建模层 → L5 演化层 + 反馈闭环 ASCII 图) (待填) ### 决策三:站内链接规则(`](/meta/brand-vi-research/...)` 相对链接) (待填) ## 2. 每个决策的 (a) 军火库给出的答案 / (b) 断供清单 / (c) 现状 vs 建议的差 (待填) ## 3. 断供汇总表 (待填) ## 4. 军火库适用性总判 (待填) ## 5. 军火库自身的洞 (待填) ## 6. 本评估自身的洞 (待填) --- ## 1. 三个决策的现状(已读仓库,不假设) ### 决策一:徽章系统(README.md:5) 实测事实(不是推断): - 三枚 badge 全部是 `img.shields.io/...` 静态图,**链接目标全是 `#`**: `build-passing`→`(#)`、`docs-vitepress`→`(#)`、`license-MIT`→`(#)`。 - **`build-passing` 没有任何来源**。仓库内: - 无 `.github/workflows/` - 无 `.gitee/` 目录 - 无任何 CI 配置文件(只有 `pnpm-workspace.yaml`) - README:232 说 CI 用 **Gitee Go**,那是**外部平台上的配置,不在仓库里**。 - `package.json` 无 `repository` 字段、无 `license` 字段。 - **`license-MIT` 没有对应文件**:`ls LICENSE*` → **不存在**。仓库里唯一的版权声明是 README:258 的 `© World Map · 持续蒸馏中`,无许可条款。 - `git remote` → `git@gitee.com:sebslee/world-map.git`(**Gitee,不是 GitHub**),而 `build-passing` 是 GitHub Actions 的通用写法。 坏掉的 badge 会显示成什么: - `img.shields.io/badge/...` 本身是**稳定服务**,图不会坏。 - 真正的失效形式是**内容与事实不符而图片仍正常显示**:`build-passing` 永远是绿的, **Gitee Go 一旦停用或某次 push 失败,badge 仍显示 passing**——这是静默失效,不是可见失效。 - `license-MIT` 同理:badge 显示 MIT,而仓库里没有任何 MIT 授权文本。 ### 决策二:5 层骨架图(README.md:20-36) 实测:ASCII 图(L23-25)与下面的 5 行表格(L32-36)**是两处独立手写的重复**。 - ASCII 图里有:层名 + 箭头方向 + 反馈闭环。 - 表格里有:层名 + 「关注的问题」+「关键方法」。 - **两层没有共享任何数据源**;改一处层名要改两处。 - 反向检索:README 内 `L1 建模层` 出现 **3 次**(源典表 L16、ASCII L23、表格 L32), `L5 演化层` 出现 **2 次**(L18、L23、L36)。**没有单一事实源。** ### 决策三:站内链接规则 实测(有效分母 = 仓库全部 **927** 个 `.md`,排除 node_modules/.git): - 含 `](/` 形式的文件:**359 个** - `](/...)` 相对式链接出现总次数:**4,051 次** - 全部是**手写**在 `.md` 正文里的 Markdown 链接;仓库里**没有链接生成器** (`scripts/` 下只有 `check-deadlinks.mjs`=检查器,不是生成器)。 - 仓库内**没有任何一条规则**说明「什么时候写相对式、什么时候写绝对 URL」。 反向检索 `grep -rn "绝对\|absolute\|相对链接\|链接规则" --include="*.md"` 命中的是 VI 研究语料,不是本仓库的链接规范。 ### 决策三的关键补充实测(断链检查器的真实能力) 跑 `node scripts/check-deadlinks.mjs`:**扫描 486 个 .md、3,962 条链接、报「✅ 零死链」、退出码 0**。 但 README 里这三条**确实死**(手动 `existsSync` 复核 = MISSING): - `/l1-modeling/01-overview/` - `/l3-implementation/02-code/discrete-control.md` - `/l5-evolution/04-organization/team-topology.md` **为什么检查器抓不到**(读 `scripts/check-deadlinks.mjs:105-163` 得到): 1. 死链在 README 路由图里是**散文/ASCII 树形**(`README.md:52-111`),**不是 `[text](path)` 形式**, 而全脚本只匹配 `/\[([^\]]+)\]\(([^)]+)\)/g` 一个正则(第 108 行)。 2. 真正的 `[](/meta/cicd.md)`(README:240)**存在**,所以这唯一一条能被抓的链接是通过的。 **分母口径(按 PITFALLS 45/55/61 显式声明)**: - 检查器有效分母 = **486 个 .md**(排除 `.tmp` / `notes/` / `drafts/` / `meta/source/` / `node_modules` / `.git`)。 本轮用 `find` 独立复算得 **486**,两者一致 → **不是工具故障,是真实覆盖范围**。 - 全库 `.md` = **927**(含被排除目录)。**441 个文件从未被死链扫描。** --- ## 2. 每个决策的 (a)(b)(c) --- ### 决策一 · 徽章系统 #### (a) 用军火库推出的答案 **裁决:按【模式三十九】+【模式十八】+【模式六十一】处理,三个动作,全部指名。** 1. **【模式三十九】的三行(本版是哪一版/谁能改/没写的怎么办)** 直接决定三枚徽章各自归谁。 实测:README 里 `版本|变更表|changelog|谁能改|维护者|待定` **命中 0 次**;全库无 `CHANGELOG`。 → 所以「`build-passing` 谁负责」这个问题,**仓库里没有任何一处声明过**。 按【模式三十九】的实测(终稿权 11 类落点,**「手册自己」0 例**):README 现在的状态是**第 11 类「沉默」** ——蔚来那一列(封面仅「严格保密」)。**沉默不是「默认自己是终稿」,是「把问题转移到管不到的地方」**, 而这里连转移的目标都没有。 2. **【模式十八】「约束的缺失可能不是态度问题,是交付容器问题」** 给出徽章本身的定性: `img.shields.io` 是**第三方托管的静态图**,仓库对它**零控制**。 这是 VI 语料里没出现过的新形态:**产物在别人服务器上,而它的内容是一句关于本仓库的断言**。 3. **【模式六十一】「执行者与介质都不知道时默认走规则路线」** 给出坏掉时的动作: badge 的**执行者**是 GitHub/Gitee 的渲染器,**介质**是 shields.io—— 两者我们**都不掌握**,所以唯一能分发的是**规则**,也就是 README 里写清「这三枚徽章的来源与判定条件是什么」。 **本轮不采用、也报编号说明「不够用」的**: - 【模式五十四】/【模式五十七】讲的是**文件指针**断链(转交母本不在库里)。 badge 的 `href` 是 `#`,**它根本没有指向外部资源**,所以态 1/2/3 三态**不适用**——这不是断链,是**没有链**。 #### (b) 断供清单 —— 断在第 2 步 | 步 | 军火库有没有 | 断在哪 | |---|---|---| | 1. 认处境 | ✅ 有。【D1】/【B-1】 | —— | | 2. 决定「写不写/改不改」 | ⚠️ **半有**。【模式三十九】给出三行,但**三行的对象是「本版边界」,不是「一个断言的真假」** | **断在这里** | | 3. 判断 badge 坏掉时显示成什么 | ❌ **没有对应模式** | 缺口在【模式十八】之后 | **精确断点**: - **有对应模式但不足以裁决**:**【模式三十九】**。它裁决了「谁能改」(写角色不写人名), 但**没有裁决「一个第三方托管的断言,其真值由谁维护」**。 它的 11 类落点全是**「谁有权改这份文件」**,我们的处境是「**谁有权让这个断言变真**」—— **方向不同**:前者指向版本,后者指向 CI。 - **没有对应模式**:**【模式十八】与【模式十九】之间的那一段**。 模式十九说「复用次数是约束密度的第三个变量」,但**没有一条讲「断言的复用次数」**。 badge 被复用 0 次(本仓库没人读它来决定行动),而**复用次数为 0 的断言,按模式十九的逻辑本就不该存在于执行链上**—— 但模式**没有把这条推到底**。 - **不是互相矛盾**。 - **不是单纯未经检验**:【模式三十九】本身 `成立`(父验,11 类落点)。 **断的是覆盖面,不是可信度**——这比「未经检验」更隐蔽,因为它看起来是够用的。 #### (c) 现状 vs 建议 **仓库违反模式的地方(明确)**: 1. **违反【模式三十九】第 ② 行**:三枚 badge 都没有标注**谁能改**。 而实测 `package.json` 无 `repository` 字段 → **没有人被指定**。 2. **违反【模式三十九】第 ① 行**:`build-passing` 是「本版是哪一版」的断言, 而 README 无版本号、无变更表位置。 3. **`license-MIT` 是一个未经证实的断言**:无 `LICENSE` 文件、`package.json` 无 `license` 字段。 这正是【模式四十一】的病——**没有指认一件下游真有的实物**:badge 说 MIT, 但「MIT 文本在哪」没有指认。按【模式四十一】的判据, **`license-MIT` 属于「不可核」,因为没有指认权威源。** **仓库做法比模式建议更好的地方(这也是一个发现)**: - README 的 badge **全部指向 `#` 而不是指向 CI 页面**。 按【模式三十八】(非商业主体 VI 靠「合法性」和「对外解释」维持), **指向 `#` 意味着它不承诺任何东西**——它是纯装饰。 如果它指向了 Gitee 页面,它就在**对外解释「我是绿的」**,而那是**未经验证的对外主张**。 → **仓库的做法在这个处境下比模式三十九的建议更安全**,因为模式三十九假设文件有对手方, 而**这个 badge 没有对手方,只有读者**。 --- ### 决策二 · 5 层骨架图 #### (a) 用军火库推出的答案 **裁决:按【模式五十二】(变更单写了不等于改了,以执行页为准)+【模式三十九】(三行)+【B-3】(转交要能追到)处理。** 1. **【模式五十二】** 是本决策最直接的一条:变更单写 `3 m²`、执行页写 `3.5 m²`, **结论是「以执行页为准」**。骨架图就是**执行页**(读者唯一看得到的层名), 而 ASCII 图与表格是**两份并排的变更单**。按【模式五十二】, **当两份不一致时,只有被读者看到的那份算数**——而**两份都被看到**。 → 动作:**改一处必须改两处,且没有机制保证两处同时改**。 按【模式五十二】的**代价栏**原文:「变更单格式越规整越容易直接采信—— **权威性来自被执行,不来自格式**」。ASCII 图格式规整,**它会赢过表格**, 而表格里才有「关注的问题/关键方法」。 2. **【模式三十九】三行** 给骨架图自身的治理:它**是**「会被别人修改的规则文件」, 按【B-1】的触发条件原文(「方法文档、VI 手册、执行规范、模板库说明」)—— **README 的骨架图落在这一类里**,而三行**命中 0 次**(已实测)。 3. **【B-3】**(转交要能追到)用在骨架图与路由图的关系上: 路由图(README:50-111)**转交了** 20 个子目录给下游页面, 按【B-3】第 ① 项「打开那份目标,确认它含有你承诺的内容」—— **实测 `l1-modeling/` 不存在**,这是【B-3】的**态 3**: 「检索成功、文件在库、但它不是那份文件」的极端形态—— 连文件都不在。**形态四「母本真实存在,只是在这个库里」在这里反转了:母本存在,但不在这个库里。** #### (b) 断供清单 —— 断在第 2 步,且断得比决策一更靠前 | 步 | 军火库有没有 | 断在哪 | |---|---|---| | 1. 认处境 | ✅ 有。【D4】版本对照/【B-1】 | —— | | 2. 判断「改一处要改几处」 | ⚠️ **有对应模式,但它的对象错了** | **断在这里** | | 3. 判断 ASCII 图与表格是不是同一份东西 | ❌ **没有** | —— | **精确断点(三条,按严重度排)**: 1. **【模式五十二】的对象是「变更单 vs 执行页」,而我们的对象是「图 vs 表」。** 模式五十二预设**已存在一个「谁更算数」的答案**(执行页)。 我们的处境里**两份都被读到,没有优先关系**。 → **断供形态:有对应模式但不足以裁决**。 指名:**【模式五十二】**(`situation-entries.md:253` 索引行 / 模式五十二原文)。 2. **「单一事实源」这个动作,军火库里完全没有。** 反向检索(有效分母 = 927 个 `.md`): `SSOT|单一事实源` 命中 **53 处,但全部在 `design/04-patterns/cqrs-es.md` 等业务正文里, 讲的是「事件流 = SSOT」,不是「文档的骨架图 = 事实源」**。 → **空白**。按 PITFALLS 32:搜到的要么是空白要么是反例,**这里是空白**。 指名缺口:**【模式五十五】(订正写下来≠订正传出去)之后没有下一条讲「同一事实的两处副本」**。 【模式五十五】讲的是**一处错了、另一处没跟着改**(复活); 我们的处境是**两处都对、但改一处必须记得改另一处**——**方向相反**。 3. **【模式五十四】/【模式五十七】讲「母本在不在库里」,它们假设母本应当可达。** 我们的 README 路由图指向 `l1-modeling/`(**不存在**), 按【模式五十七】的精确形状「**它能回答『在我这儿吗』,不能回答『存在吗』**」—— `existsSync` 回答的是**「在我这儿吗」= 否**, 而**真实目录是 `modeling/`**,所以这是「**它不在,而且我知道真正的在哪**」—— **三种相反返回之外,这是第四种:名字变了。军火库没有这一态。** 指名缺口:**【模式五十七】的三态之外,缺「态 0:指针名字与目标名字不同构」。** #### (c) 现状 vs 建议 **仓库违反模式的地方(明确)**: 1. **违反【模式五十二】**:ASCII 图(L23-25)与表格(L32-36)**两份并排、无优先关系**。 而这两份**内容确实不一致**——表格多出「关注的问题/关键方法」两列, ASCII 图**多出「反馈闭环」这个信息**(表格里完全没有闭环箭头)。 → **这不是「同一份东西」,是两份互补的东西被当成一份维护。** 2. **违反【B-3】第 ① 项**:路由图 20 个子目录中,5 个 `l*-` 前缀目录**不存在**。 3. **违反【模式三十九】第 ② 行**:改骨架图的人是谁,全库无声明。 **仓库做法比模式建议更好/模式覆盖有偏的地方(发现)**: - **README 的「重复」是刻意的,而且是正确的。** 按【模式十八】,交付容器决定能不能有约束——README 是**人读的散文容器**, 它**物理上无法像 VI 手册那样把一次定义复用到多处**。 而【模式五十二】的整套机制(变更单 vs 执行页)**预设了一个可以集中改的地方**—— **我们的容器里没有那个地方。** → **这是本轮最有价值的发现之一**:【模式五十二】的**前提**是「存在一个执行页可作为唯一裁决点」, 而**在散文的文档容器里这个前提不成立**。 VI 手册的容器(PDF)能保证「同一页既是定义也是执行页」, **我们的容器(Markdown 散文)不能**。 --- ### 决策三 · 站内链接规则 #### 现状(有效分母已声明) | 项 | 数 | 口径 | |---|---:|---| | 全库 `.md` | **927** | `find` 排除 node_modules/.git,含 `.tmp` | | 含 `](/` 的文件 | **359** | 全库 927 份中 | | `](/...)` 相对式链接总数 | **4,051** | 全库 | | 检查器扫描分母 | **486** | 排除 `.tmp`/`notes/`/`drafts/`/`meta/source/` | | 检查器报死链 | **0** | 退出码 0 | 链接**全部手写**:`scripts/` 下只有 `check-deadlinks.mjs`(检查器),**没有任何生成器**。 #### (a) 用军火库推出的答案 **裁决:按【B-3】(转交要能追到)+【模式五十七】(母本检索结果减引用它的文件,差集为空 ⇒ 母本不在库里)+【E34】/【模式六十二】(丢弃检查)处理。** 1. **【模式五十七】的可自动化判别式**直接适用,且**它在本仓库上真的能跑出信号**: 公式是「**母本检索结果 减去 引用它的那份文件 = 差集为空 ⇒ 母本很可能不在库里**」。 把它套到死链上:`README.md` 引用了 `/l1-modeling/01-overview/`, **差集为空**(该路径在库内零命中)→ 按【模式五十七】的判别式, **母本「很可能不在库里」**。真值是:**它在,但改了名**(`l1-modeling/` → `modeling/`)。 → **【模式五十七】在本仓库给出了一个正确方向的判断,但错的结论**—— **这正是它自己写下的诚实边界**(「它能回答『在我这儿吗』,不能回答『存在吗』」)。 2. **【B-3】第 ① 项「打开那份目标,确认它含有你承诺的内容」** 用在死链检查器上: 检查器已经**打开了目标**(`existsSync`),所以它**过了 B-3 第 ① 项**—— **但它仍然漏掉了 5 条真死链**。 漏的原因 B-3 没覆盖:**检查器只解析 `[text](path)` 这一种语法**, 而死链藏在 ASCII 树里。→ **这正是【模式六十二】的形状**: 「四步反例搜寻只管『把检索改宽改细』」, 而这里的问题是**「检索式只认一种载体」**——**不是宽窄问题,是形态问题**。 3. **【E34】(搜到了却扔掉)** 在这里**反向成立**: 检查器**根本没搜到**那 5 条(不是搜到后扔掉)。 按【E34】的防线①:「如果检索返回了东西而你正准备丢弃它,四步全部不适用」—— **不适用,因为没返回。** → 断供。 #### (b) 断供清单 —— 断在第 1 步(最早的断点) | 步 | 军火库有没有 | 断在哪 | |---|---|---| | 1. 判断链接是手写还是生成的 | ✅ 有。【B-1】/【模式十八】 | —— | | 2. **判断「什么时候写相对式、什么时候写绝对 URL」** | ❌ **完全没有** | **断在这里,第 1 步之后立刻断** | | 3. 判断重命名目录会发生什么 | ⚠️ 【模式五十七】给了**方向**,结论错 | —— | **精确断点**: 1. **「相对式 vs 绝对 URL」这个决策,军火库里没有任何一条在管。** 反向检索(**有效分母 = 927 个 `.md`**): `绝对 ?URL|绝对式|相对式|链接规范|链接规则` → **12 处命中,全部在 `.tmp/vi-distillation-round2/` 与 `.tmp/aesthetics-growth/` 的 VI 语料里**, 讲的是**字体排版的相对式**,**没有一处讲 Markdown 链接**。 `meta/writing-style/`(8 个子目录,写作范式的正式规范处)里 `链接|link|死链` 的命中 **只有 `## 相关链接` 这一段落标题**(反向链接 3-5 条),**没有一条讲路径形式**。 → **空白**。按 PITFALLS 32 口径:搜到的要么是空白要么是反例,**这里是空白**(12 命中全是同形词)。 2. **【模式五十七】在这里给出正确方向 + 错误结论。** 它说差集为空 ⇒ 母本很可能不在库里。真值:**在,只是改名了**。 按【模式五十七】自己的诚实边界(「不能回答『存在吗』」), **这不算它错——它从未承诺能回答改名**。 但**它的措辞没有为「改名」留位置**。 指名缺口:**【模式五十七】缺「态 0:指针的名字 ≠ 目标的名字」。** 3. **重命名会发生什么:军火库答了,而且答对了**—— 【模式五十二】的「以执行页为准」+【模式五十五】的「去查引用处,不是查台账」 合起来给的答案是:**改名的成本落在所有引用点上,而检查器会告诉你有几个**。 **实测:检查器告诉你 0 个。这是错的答案,而它是自信地给的。** #### (c) 现状 vs 建议 **仓库违反模式的地方(明确)**: 1. **违反【B-3】第 ① 项的推广形态**:4,051 条手写链接, **没有任何一处声明「谁来保证重命名后它们都还在」**。 按【B-3】的动作①,「打开那份目标」是**纯体力**且**在流程里最容易被砍**—— 而这里的形态是**4,051 次体力**,**所以它必然被砍,实际上就是被砍了**。 2. **违反【模式六十二】的精神**:检查器**报「✅ 零死链」**, 而它对 5 条真死链**零召回**。按【模式六十二】的验收口径 (「测它的假阳性率,不是召回率」),**这里连假阳性都没测**。 **更要紧的是**:它报的是一个**通过**的绿信号,而它的覆盖率是 **343/486 ≈ 70.6% 的文件、 3,962/4,051 ≈ 97.8% 的 `[](...)` 形式链接——但 0% 的 ASCII 树内路径。** **仓库做法比模式建议更好的地方(发现)**: - **检查器的分母是诚实的**:它自己声明了忽略范围(`check-deadlinks.mjs:11-17` 逐条列出 `drafts/` / `notes/` / `meta/source/` / `v1-classic/`)。 按【模式十八】,**「为什么没有约束」有明确答案:那些目录不在容器里**。 → **仓库在这一点上严格执行了【模式十八】**, 而【模式十八】在 VI 语料里恰恰是**解释「为什么有的手册零约束」**的那一条。 **这条模式在本仓库上是有用的,而且是本轮唯一一条「模式说的比仓库差的反面」**—— 不,恰恰相反:**它说的和仓库做的一致**。 --- ## 3. 断供汇总表 | # | 决策 | 断在第几步 | 缺的是哪条编号 | 「没有」/「未经检验」/「互相矛盾」 | |---|---|---|---|---| | **1** | 徽章系统 | 第 2 步「决定改不改」之后 | **【模式三十九】**(三行只管「谁能改这份文件」,不管「谁有权让断言变真」)+ **【模式十八】与【模式十九】之间无条目**(无「断言的复用次数」) | **没有**(模式在,但对象错位)。**不是**未经检验,**不是**矛盾 | | **2a** | 骨架图 · 图与表 | 第 2 步 | **【模式五十二】**(预设「存在唯一执行页」,而我们的容器没有这个前提) | **有对应模式但不足以裁决**(形态不同) | | **2b** | 骨架图 · SSOT | 第 1 步就断 | **无编号**。反向检索 `SSOT\|单一事实源` 53 命中**全在 CQRS/ES 业务正文**(`design/04-patterns/cqrs-es.md` 等),讲的是事件流不是文档 | **没有**(真空白,已举证) | | **2c** | 骨架图 · 路由图 5 个死目录 | 第 2 步 | **【模式五十七】缺「态 0:指针名 ≠ 目标名」**(三态之外) | **没有**(第三种形态未建模) | | **3a** | 链接 · 相对式 vs 绝对 URL | 第 1 步后立刻断 | **无编号**。12 命中全在 `.tmp/` VI 语料(讲字体排版相对式);`meta/writing-style/` 只有 `## 相关链接` 标题命中 | **没有**(真空白,已举证) | | **3b** | 链接 · 重命名会发生什么 | 第 3 步 | **【模式五十七】**方向对、结论错(说「母本很可能不在库里」,真值是「在,改名了」) | **没有**(措辞缺一态) | | **3c** | 链接 · 检查器报假绿 | 第 1 步 | **【模式六十二】**只管「改宽改细」,不管「只认一种语法形态」 | **有对应模式但不足以裁决** | **七行里 0 行是「未经检验」,0 行是「互相矛盾」。** **全部断供都是覆盖面问题,不是可信度问题**——这与军火库自己的登记一致 (62 模式中 `成立` 42、`已推翻` 11、`已降级` 6、`未经检验` 仅 2)。 --- ## 4. 军火库适用性总判 **分母的定义(先说清,避免 PITFALLS 70/79 的分母错误)**: 分母 = **62 个模式编号 + 13 条处境(A-1…D-1)**,共 **75 个条目**。 判定口径:**该条的前提在我们的处境里是否成立,且它是否能给出可执行动作**。 不按「结论对不对」判,按「**能不能用**」判。 | 类别 | 条数 | 占比 | |---|---:|---:| | **前提成立且可直接用** | **9** | **12.0%** | | **前提成立但不足以裁决** | **11** | 14.7% | | **前提不成立**(形态前提在知识库站点上不成立) | **38** | 50.7% | | **真空白**(库里无对应条目) | **17** | 22.7% | | **合计** | **75** | 100% | **「前提不成立」的那 38 条,集中在五类形态前提**: | 形态前提 | 涉及条数 | 为什么在我们的处境里不成立 | |---|---:|---| | ①**载体是 PDF 版面**(渲染 dpi/分栏/中缝/页脚) | ~16 | 我们是 `.md` 纯文本,**没有 dpi、没有中缝、没有跨页合并**。【模式四十三】跨页性、【模式五十一】合订本、【模式五十九】缺字体——**全部不触发** | | ②**有物理执行现场**(印刷厂/加盟商/供应商) | ~12 | 我们的执行者是**读者**,他没有印刷机、没有色卡、没有母版。【模式十四】物件路线、**模式三十六** L1/L2/L3 链——**L 层的对象不存在** | | ③**有品牌主体与商标**(非商业主体 VI/商业 vs 公共) | ~6 | 我们不是品牌,**没有 VI、没有标志、没有物料**。【模式十七】、**模式三十八**——**整个 E 组的前提不成立** | | ④**有数值可引**(mm/gsm/色值/字重) | ~4 | 我们的约束是**链接路径与文件拓扑**,**几乎没有数值**。【模式四十一】颜色、**模式四十九**字体——不触发 | | ⑤**有「谁批准」的对立面**(终稿权/处置权) | ~4 | 我们**没有对手方**,只有 co-author。【模式三十九】11 类落点里那个「沉默」类——**正好落在我们身上**,但**没有一条模式处理「没有对手方」** | **直接可用的 9 条(全部指名)**: 【模式三十九】(三行:版本/谁能改/待定区)、 【模式十八】(交付容器决定能不能有约束——README 检查器自己声明了忽略范围,这是本轮唯一完全对上的一条)、 【模式五十二】(以执行页为准 → 图与表必须同改)、 【模式五十五】(去查引用处,不是查台账 → 重命名后查 4,051 个引用点)、 【B-3】(转交要能追到:打开目标确认它含有承诺的内容)、 【模式五十七】(母本检索减引用文件的差集判别式——方向对、结论错)、 【E33】(规定不以陈述句出现,漏扫不留痕迹 → 死链藏在 ASCII 树里,不在 `[](...)` 里)、 【E27】(交叉引用被当成真条款 → 检查器的 3,962 条与 README 路由图的 20 条是两类东西)、 【A-1】(数值在记录里出现两次=没被验证过 → 「~190 篇」「30+ commits」这类统计无法复算)。 **诚实的结论**:**军火库对「企业 VI 手册」有效(它的 62 条全部在那个形态里归纳出来的), 对「我们这种知识库站点」直接可用约 12%,且这 12% 集中在「治理与留痕」四类, 在「视觉与工艺」上是 0%。** --- ## 5. 军火库会给出**错误**答案的地方(举证,非默认结论) 按 PITFALLS 32/92 的要求,我为找这一条做了三件事: ①对每个「模式给不出答案」的判断跑反向检索; ②把每个模式的**触发条件原文**与我们的处境逐字比对; ③检查有没有**前提被我们的处境推翻**的模式。 **找到 3 处**,其中第 1 处最严重。 ### 错误 1(严重)·【模式六十一】会给出一个**方向完全相反**的答案 **它的触发条件原文**(`situation-entries.md:6346`): > 「我要开始做一份规范/派一次活,而**执行者是谁、他在什么介质上,这两件事我现在都不知道**」 **它的动作原文**: > 「**默认走规则路线**,并把未知量本身写成显式声明: > 「本文档假设接收者能读到全文、且本文件格式能承载分色/尺寸/出血要求」」 **这个前提在我们的处境里不成立,而且不成立的方式是危险的**: - 对 VI 手册:执行者=印刷厂,介质=纸张/工艺。**未知介质时发规则确实是对的**—— 因为规则是唯一不依赖那个未知量的选择。 - 对我们的骨架图:执行者=**改这张图的人**,介质=**Git**。 **介质不是未知的——它是已知的、且被完全掌握的**(README:232 声明了 Git 工作流, `meta/git-workflow/` 有 commit 规范)。 → 在我们的处境里,**正确的做法是物件路线**(改那两处),不是规则路线。 - **最危险的地方**:模式六十一的动作①要求「把未知量写成显式声明」—— **如果照做,README 会多出一句「本文档假设接收者能读到全文」**, 而这个「未知量」**根本不是未知量**。 → **这是一次伪造的诚实**:把已知的东西声明成未知,**比不声明更坏**, 因为它会让下一个读者以为这里有不确定性。 **这条为什么没被军火库自己发现**:它的触发条件写的是「执行者与介质**都不知道**」, 而**我们的介质是已知的**,所以**按它自己的触发条件它根本不触发**。 → **这不是库错了,是库的边界之外**。但它揭示了一个更值得注意的事实: **军火库的每一条处境都写成了「我处于某个具体稀缺处境」, 而它从未处理「我不稀缺」这个状态。** 库里的 13 条处境**全部**预设了信息不足或冲突存在。 ### 错误 2 ·【模式三十九】的三行在「没有对手方」时会给出**空动作** 它的 11 类终稿权落点里,**「手册自己」0 例**—— 也就是说,**军火库已经观察到「没有处置权声明」这个形态**(蔚来「沉默」那一列)。 但它的建议是「**写角色,不写人名**」—— **我们的处境是「没有角色可写」**:本仓库只有一个维护者,而 README:141 的「AI 协作」说明里,**写作者是 AI**。 → 【模式三十九】会建议写「谁能改:写作者」, 而这**恰好是它的反面样本**:按它自己的实测(Motorola 点名 7 人,7 个里 4 个邮箱已错域), **点名是最廉价的免责设计**,而**「写作者」就是一个已经被点名的角色**。 → 结论:**这条模式在我们身上会给出它自己标注为反面样本的答案。** ### 错误 3 ·【模式十八】会**把「我们的检查器行为」判成正确的** 【模式十八】说:交付容器决定能不能有约束,演示母版**物理上无法充当规范**(63%/89 份)。 → 我们的 `check-deadlinks.mjs` 声明了忽略范围(`drafts/`、`notes/`、`meta/source/`), 按【模式十八】这被解释为「**那些目录不在容器里,零约束是另一种治理**」。 **但实测**:441 个 `.md` 从未被死链扫描(全库 927 − 扫描 486), 而**这 441 个里包含 README 引用的那 5 个死目录路径的历史形态**。 → 【模式十八】会把「441 个文件没有被检查」解释成**正当的容器选择**, 而**真实原因可能是遗漏**。模式无法区分「有意排除」与「忘了加进忽略列表」—— **它只有「容器决定约束」这一个解释,而那个解释永远自洽。** → 这是本轮最隐蔽的一处:**【模式十八】是一个无法被证伪的解释**, 按 PITFALLS 53 的判据(**当一条判据的判别式恒真时,它就不是判据**),**它在我们身上退化成装饰**。 --- ## 6. 军火库自身的洞(至少三条) ### 洞 1 · **前提单一:全部 62 条从「企业 VI 手册」这一种形态归纳** **证据**:`situation-index.md` 第 2 层 62 行的「依据」栏, 全部是**品牌名 + 页码**(招行/星巴克/亚朵/蔚来/汉堡王/麦当劳…)。 **没有一个条目的依据是一份 .md 文档、一个代码仓库或一个链接。** **本轮实测的后果**:**七行断供里,六行的根因都是形态前提不成立**(见 §3)。 其中【模式四十三】跨页性、【模式五十一】合订本、【模式五十九】缺字体这三条 **在我们的容器里不是「不适用」而是「不存在」**—— 我们的文件**没有物理页**,所以它们连「适用性」这个问题都无法被提出。 ### 洞 2 · **全部结论来自「已读集」,而库自己承认这一点却没推广** `aesthetics/brand-vi-appreciating-method.md:687-688` 自己写着: > 「**13 条没有一条做过留出检验。** V3 是第 55–57 个模式的产物,而前 55 个已错 9 条。 > **拿归纳产物当验收题,等于拿训练集当测试集。**」 **这条自陈是对的,但它只登记在「13 条处境」名下,没有推广到 62 个模式**。 本轮的观察支持这个推广:**凡是靠「已读样本上的共性」归纳的模式, 在我这三种新形态处境上全部落空**—— 不是因为它错,是因为**它从未在形态之外被检验过**。 ### 洞 3 · **13 条处境自己登记的「切法没有可推翻条件」那个洞,本轮验证它仍然是洞** `brand-vi-appreciating-method.md:689-691` 自己写着: > 「**13 条的切法本身没有可推翻条件。** 这是 V3 最大的未登记风险—— > 每条都有「可推翻条件」,但**「按这四组切处境」这个动作本身没有**。」 **本轮验证**:我试着用这四组(A 读现场/B 写规范/C 判可执行性/D 判归属)装我的三个决策, 结果是—— - 决策一(badge)**装不进去**:它既不是「读现场」也不是「写规范」, 它是「**一个断言的真值由谁维护**」,四组里没有这一格。 - 决策三(链接相对式 vs 绝对)**同样装不进去**。 - 只有决策二(骨架图)勉强落在 **B「写规范」**(它是「会被别人修改的规则文件」)。 → **切法的洞在本轮被实际触发了,不是理论上的。** **13 条处境是为「读/写一本 VI 手册」切的,而我们的三个决策里有三个不属于任何一组。** ### 洞 4(附加)· **库缺一整个「载体形态」维度,而它有 5 次机会发现这件事都没发现** PITFALLS §十二/二十/二十四/五十一/五十八共 5 条,全部在处理「**PDF 这一个容器**」的病 (跨页合并、中缝、缺字体、页码分段、合订本)。 **这 5 条合起来其实是在说「载体决定约束」**——也就是【模式十八】。 **但库从未把「载体」本身当成一个需要被枚举的东西**, 它只是反复在 PDF 的各种病里踩到,然后逐个补。 --- ## 7. 本评估自身的洞(如实登记) 1. **本评估的分母 75 是我自己算的**,口径写在 §4,但**「前提成立」的判定由我一人做**, **没有第二人复核**。按 PITFALLS 47,**我的「直接可用的 9 条」应标为「待复核断言」**。 2. **我只处理了 3 个决策,n=3**。这正是【模式六十一】的触发条件 (执行者与介质未知)之外的另一个形态:**样本量不足到不能给比例**。 §4 的 12% / 14.7% / 50.7% / 22.7% **四个数是外推到 75 条上的估计,不是实测比例**。 3. **我没有验证「军火库会给出错误答案」的三处是否真的是错误**—— 错误 1 我做了触发条件原文比对(逐字,`:6346`),错误 2、3 我做的是逻辑推演。 **按 PITFALLS 34「页脚小字最危险——错在语义补全,不是乱码」, 错误 2、3 更可能是我的语义补全,而不是库的错。** 4. **我没有检查 `.tmp/` 下的那些报告**——那里有 `REPORT-TYPE2.md` 等 6 份, 它们可能已经碰到过载体差异,而我把 `meta/brand-vi-research/` 当成了军火库的**全部**。 → **这是一个「分母选错」的隐患**:军火库的实际边界可能比我给的 75 条大。 5. **本评估全程没渲染任何 PDF、没跑 OCR**(遵守任务书), 因此**我对「1,561 份语料」的判断全部是转述**,没有一条是我自己目视的。 按证据等级三级标注(`父验`/`文本层交叉`/`仅转述`), **本报告中所有关于 VI 手册的引文一律是 `仅转述`。** 6. **我修改了仓库吗**——没有。产物只有本文件。`git status` 中的变动是并发会话的。 **但我没有验证这一点**(未比对时间戳),按 PITFALLS 45 的口径, 这是一个「我说了但没验」的断言,**标为待复核**。 --- ## 8. 落盘自检 | 检查项 | 结果 | |---|---| | 读完 PITFALLS 后先写骨架再读其他文件 | ✅ 骨架 36 行先落盘,之后才读 situation-index / README / entries | | 是否只用 `>>` 写正文 | ✅ 全部 `cat >>`,**未使用 `write` 或 `>`** | | 每节写完 `wc -l` 核对 | ✅ 36 → 80 → 103 → 172 → 255 → 349 → 410 → (本节) | | PITFALLS 读到的行数 | **1428 / 1428**(`wc -l` 与实读一致) | | 是否修改仓库文件 | ✅ 没有(唯一写入 `/tmp/vi-agents/REPORT-SELFUSE.md`) | | 是否渲染 PDF / 用 OCR | ✅ 没有 | | 反向检索口径 | 有效分母 = **927 个 `.md`**(排除 node_modules/.git) | ### 8.1 一处需要如实说明的结构瑕疵 按落盘纪律(先骨架、后追加),本文件第 12–35 行的 `## 1.`–`## 6.` 是**第一次落盘的骨架占位段**, 每段内容只有「(待填)」。真身在第 40 行起,用了**同样的编号**。 → 因此 `grep -n "^## "` 会看到**两组同名编号**(§0.1 骨架 6 个 + 真身 7 个)。 **这是骨架优先纪律的直接产物,不是内容重复**: 真身段落里没有一句与骨架重复,骨架段全部是「(待填)」占位。 按 PITFALLS 91(同名重复段导致落库脚本取错)——**这个文件正好是那条坑的实例**。 本轮没有落库脚本会读它,所以未造成损失;但**若后续有脚本按标题取段, 它会取到第一个「(待填)」**。据此补一条处置说明: **引用本报告内容时,一律按行号区间(第 40 行起),不要按标题定位。** --- ## 9. 一句话结论 **军火库对「企业 VI 手册」这一种形态是有效的工具; 对「我们这种知识库站点」直接可用约 12%(9/75),集中在治理与留痕四类, 在视觉与工艺上 0%。七行断供里没有一行是「不可信」或「互相矛盾」—— 全部是「这个形态根本不在它的归纳范围里」。 它最诚实的一次表现是它自己写下的那句: 「拿归纳产物当验收题,等于拿训练集当测试集」—— 本轮证明的是同一句话的另一半:**拿归纳产物当工具,问题不是它错,是它没被问过这个问题。**