# 页码与文件身份踩坑记录(供后续 agent 查阅) ## 一、页码偏移不能推导 **已实测的偏移漂移案例**: | 文件 | 情况 | |---|---| | NASA v2.1(51页) | 印刷页与物理页差 4,但被大量空白隔页打乱(4/6/7/8/44 等),目录页码不可换算 | | 微软 434(88页) | 偏移 +3;同源的 90 页版偏移不同,**同品牌不同版本偏移不一致** | | 华为 665(175页) | **不印连续页码**,页眉印章节号;且目录第 8 章编号比实际页眉整体小 1 | | 可口可乐 Zero(146页) | 印刷号是"章.节"小数码(1.0、2.03、9.02)非页码;偏移从 +4 一路漂到 +138 | | 麦当劳 104页件 | 偏移 +3,5 个锚点确认 | | 麦当劳 Feel-Good(10页) | 全篇无印刷页码,物理页即唯一编号 | | 巴西联邦(45页) | 正文区偏移 0,但封面与目录为无号前置页 | | RMIT(86页) | 偏移 0,无空白隔页 | | **万科(124页)** | **全书无任何印刷页码**,唯一导航是页眉「章名 + 章节号」(如 品牌标志 / 2.14) | | **咖啡四本(山池/amble sheep/M Stand/Blue Bottle)** | 四本**均无印刷页码**,一律以物理页引用 | | 闻献(65页) | 印刷页=物理页,**零偏移**(p3 右下 "003") | | 观夏(71页)/花西子(100页) | 均无页码,按物理页计 | | pidan 2.0(32页) | 由 Illustrator(Windows) 生成,1.0 由 InDesign(Mac) 生成 | **「红色数字=页码」的陷阱(万科)**:章节扉页右侧有一个**竖排红色数字**,极易被误读为页码。300dpi 裁切右侧后确认——那是旋转 90° 的**章节号 "1.0"**,不是页码。 **遇到疑似页码的孤立数字时,务必 300dpi 裁切放大确认方向。** 竖排/旋转排版在 100dpi 下与横排数字无法区分。 **结论**:必须逐页目视确认。**先渲染前 5-8 页,找到至少 2-3 个锚点,再建立偏移关系,且每跨一个章节要重新验证。** ## 二、目录不可信 华为第 8 章目录编号与实际页眉整体错开 1。**目录只用于理解结构,不用于定位。** ## 三、文件身份的三重陷阱 ### 陷阱 1:同一文件被重复收录 用 `md5 -q` 或比较字节数验证: ```bash md5 -q "file1.pdf" "file2.pdf" # 或 stat -f%z "file1.pdf" "file2.pdf" ``` **已发现**(截至本批次共 **6 组** MD5 完全相同): - 麦当劳三份 10 页文件(`【必看042】`、`【必看126】`、`【手册VI 751】`)**MD5 完全相同** `0a53d6bf…`,是同一文件收录三次 - 贝壳 `【必看071】` 与 `【手册VI 1148】` **MD5 相同** - 华为 `【必看175】` 与 `【手册VI 666】` 字节数相同(14,014,170) - pidan `【必看032】` 与 `【手册VI 1070】` MD5 相同 - 蓝瓶 `【必看120】` 与 `【手册VI 1088】` MD5 相同 `e7a92e93bc469e291534dfc7e2cdac3b` - 观夏 `【必看010】`↔`【手册VI 1080】`、`闻献 【必看006】`↔`【手册VI 1100】`、`花西子 【必看011】`↔`【手册VI 1161】` 均为 MD5 相同 > **连带影响**:本项目记录的「1,607 份」是**物理文件数**。任何按文件计数的统计都必须先 `md5` 去重,否则重复收录会被当成多份证据。 ### 陷阱 1b:`md5` 查不出的两类重复(**必须三路交叉去重**) **类型 A:同版不同扫描** —— NASA `【必看049】` vs `【手册VI 634】` - MD5 **不同** - 同 Title(NHB 1430.2)、同 Pages(60)、同扫描仪(Canon DR-7550C),仅页面尺寸不同 **类型 B:同版不同改** —— 阿那亚 `【金山岭】阿那亚项目VI设计.pdf` vs `【总监经验分享】阿那亚标志设计.pdf` - MD5 **不同** - **字节数完全相同**(4,348,424) - 同内部 Title(`aranya_manual_1_0622.o.l_s`)、同 Creator/Producer、同 CreationDate(2017-06-22) - **仅 char 3,206,300(ModDate 区)一个字节不同** > **去重三路交叉**: > 1. `md5` 相同 → 字节相同 > 2. **字节数 + pdfinfo Title + CreationDate 三者相同** → 同版不同改 > 3. Title/Producer/Pages 高度相似 → 同版不同扫描 > > 只做第 1 路会漏判。实测 89 份被误计为 89 份唯一内容,实为 **88 份**。 ### 陷阱 1c:文件所有权错位(最严重) `阿那亚品牌资料全收录`(276 页)**物理 p3 显示为第三方付费资料库「看鉴品牌 Brand Insight/Copyright ©2024…严禁外传」的「阿那亚专章」**,不是阿那亚自有文件。 > 前 19 处错位都是版本/年份/重复层面的,**这一处是文件所有权层面的**——把它当品牌自有文件分析「品牌如何做 VI」,结论会完全错误。 > > **深读前务必看第 2–4 页有没有版权声明、出版方名称、"仅供内部参考"字样。** ### 陷阱 2:文件名与内容无关 - `【必看175】华为...2.0(134p).pdf` —— 文件名标 175 实为 134 页,"175"是库内编号习惯 - 餐饮招商抽样 8 份中,**2 份名实不符**(喜茶文件名"招商加盟"实为对外品牌册;便利蜂无加盟章节) - pidan 两份"品牌手册"实为**产品目录**与**包装图册**,明文约束都是 0 条 **做法:开 PDF 先翻目录与页脚。** ### 陷阱 3:版本号与元数据矛盾 - 可口可乐 Zero:封面 v1.0,页脚"Confidential: December 2009",版权"Copyright 2008" - 巴西联邦:封面 v.1.1–JAN/2023,元数据标题写 V3_JAN23 - pidan 2.0:文件名"2026版",Illustrator 创建时间 2024-07-23 ## 四、必须判断文件性质 | 类别 | 特征 | 处理 | |---|---|---| | (a) 现行 VI 执行文件 | 有约束条文、最小尺寸、禁止示例 | 五步法完整执行 | | (b) 品牌故事/介绍 | 无约束,通篇形象 | 记录"为何无约束" | | (c) 招商加盟材料 | 投资额、回本周期、加盟流程 | 重点看 VI 是否缺席 | | (d) 设计提案 | 有效果图、方案对比 | 标注为提案,非现行规范 | | (e) 产品目录 | SKU 规格卡、分类目录 | 判断规则是否以成品形式存在 | **性质不同,可比性不同。pidan 与餐饮招商的教训是:把 (b)(c)(e) 当作 (a) 分析,会得出完全错误的结论。** ### 本批次实测:叫「品牌手册」的多半不是 VI 手册 | 文件 | 标称 | 实际性质 | |---|---|---| | 山池品牌手册(35p) | 品牌手册 | (b)+(c):p29–34 全为招商,零门店规范 | | amble sheep(39p) | 品牌手册 | (b):品牌资产画册,仅 p4 属 VI | | M Stand(120p) | 品牌手册 | (b):仅 p2–p3 属 VI,p11–62 是门店实拍 | | Blue Bottle(62p) | 品牌手册 | (b)(c):p9 明写 "EACH OF OUR CAFES IS UNIQUE" | | 观夏(71p)/闻献(65p)/花西子(100p) | 品牌手册 | 叙事型企业册,**零 VI 章节**(花西子 p3 目录八章无任何 VI 模块) | > **高效判别法**:翻目录。**目录里没有「标志/色彩/字体/版式/物料」任一章的,几乎可以确定不是 (a)。** ## 五、"对不上"不能直接下结论 麦当劳案例:先发现既有记录"全部落空",追查三份 10 页文件后发现**11 条中 9 条精确命中**。 **既有记录错的是文件身份标签,不是内容。** 因此:发现页码对不上时,必须先定位真实来源文件,再判断记录对错。**"对不上"只能说明找错了文件。** ### 反向也要注意:记对了位置,也可能记错了内容 本批次咖啡/美妆七份文件的既有引用**页码零误差**,多条精确命中(花西子 p.26 园林轩窗+并蒂莲完全命中)。 **但既有记录普遍只记「画面长什么样」,系统性漏掉「体系里有什么」**——花西子 p.3 目录(证明无 VI 章节)、p.45(品控一票否决权)、观夏 p.64(未润色采购笔记)都是高价值漏记。 > **结论:既有记录可用于快速定位,不能替代品读。** ### 已确认的「引用指向另一份文件」 - 蓝瓶:既有引用「第 77、122、134 页」→ 派读文件 `【必看120】` 仅 62 页;**只能属于 139 页的 `【必看122】`/`【手册VI 1218】`** - 万科:既有页码引用 → `【手册VI 862】` **全书无印刷页码**,引用不可能指向它 - 观夏:p.59 记为"瓷件",实为**蜡杯**;瓷件在 p.6 ## 六、元数据检查命令 ```bash # 页数与基本属性 pdfinfo "file.pdf" # 是否重复 md5 -q "file1.pdf" "file2.pdf" # 是否无文本层(决定能否用文字辅助定位) pdfinfo "file.pdf" | grep -i producer # Producer 含 "Image Conversion" → 无文本层,只能目视 ``` ## 七、渲染建议 ```bash pdftoppm -f <起> -l <止> -r 100 -png "file.pdf" /tmp/prefix ``` - `-r 100` 足够识别版式、色块、图文关系 - **需要读小字注或色值时用 `-r 200` 或更高** - 单次 4-6 页,避免上下文膨胀 ## 八、中文条款必须 200dpi 复核(实测误读案例) 北京大学办法印刷 p2=物理 16 一条约束: - **100dpi 下误读为**:「标志墨稿**非印刷**的情况下才能应用」 - **200dpi 复核后正确为**:「标志墨稿**只有在单黑印刷**的情况下才能应用」 **「只有在单黑印刷的情况下才能应用」是完全不同的规范**(单黑印刷是特定工艺),前者则无意义。 > **凡是需要引用中文条文原文的页面,一律用 `-r 200` 并裁切放大复核。** 100dpi 只用于判断版式结构。 ## 九、版本号陷阱的又一种形态 阿德莱德大学导视手册:`pdfinfo` 的 Title 字段写 **"2011"**,但文档页脚印 **JUNE 2013**。 > **引用版本时以文档内页脚/扉页为准,不以元数据为准。** 已知同类:可口可乐 Zero(封面 v1.0/页脚 December 2009/版权 2008)、巴西联邦(封面 v.1.1-JAN/2023/元数据 V3_JAN23)、pidan(文件名"2026版"/Illustrator 创建 2024)。 ## 十、页码偏移会分段漂移,且新版本会推翻旧版本的偏移表 北京大学办法(98 页)实测: | 区段 | 映射 | 偏移 | |---|---|---| | 前置目录区 | 物理 9/10 = 罗马 vi/vii | **+3** | | 正文区 | 物理 16 = 印刷 2 | **+14** | **同一份文件内偏移从 +3 跳到 +14**(物理 15 是无号章节扉页)。 > 再次印证:**任何偏移表都是逐份、逐区段的目视记录,不是可外推的公式。** ## 十一、性质判定的两条新捷径 1. **看第 2–4 页的版权页** —— 苏州博物馆元数据 Title 直接写「方案A(水印)」,全书水印「新世相|千鲤文化」,是**乙方提案**而非品牌文件;国博 41 页 PPT 导出,采样 6 页全为馆情/藏品/授权产品,**无 VI 规则** 2. **看有没有自带文档号与审批邮箱** —— 星巴克 WPS VI 手册自带 SJ 文档号(SJB14-34174)与审批邮箱,说明是品牌自出的执行文件;而 gaga 只写「Design by A Black Cover Design」、Tagi 嵌「Brand Design 不等咖啡」,都是**乙方出品,不应作现行规范引用** ## 十二、⚠️ 双页跨页合并:会让全库页数统计系统性偏低,且**无法用元数据识别** **广发银行 VIS**:`pdfinfo` 的 Pages = **61**,但它实际是 **118 个印刷页**,因为**一个 PDF 物理页里并排放了两个跨页**。 **换算关系:`印刷页 = 2 × 物理页 − 2`**(已用物理 p4=印刷 6/7 等锚点确认)。 > ### ⚠️ 最难的一条:页面尺寸筛查**完全无效** > > 该件页面尺寸为 **A4 横向(841.89×595.276)**,而**两页 A5 竖版并排恰好等于一张 A4 横向**——**二者元数据完全同形**。 > > **实测结果**:全库 1,561 份按比例扫描,筛出 **19 份**比例≈2.00 的真跨页(可口可乐 2020 的 67 份同源件、广汽丰田 211p、振华重工 86p、优酷 42p 等),**广发银行一份都没抓到**;另有 **268 份** A4 横向属**不可判别区间**。 > > **结论:必须逐份目视中缝(装订线/装订位痕迹),没有捷径。** 用 `pdfinfo Pages` 做的任何统计都会系统性偏低。 > > **也否证了一条旧推断**:跨页**不只**出现在 (b)(c) 类文件——可口可乐 2020、广汽丰田、振华重工、优酷**都是 (a) 类 VI 执行文件且为真跨页**。 ## 十三、文件名与元数据 Title 互相矛盾时,两个都不可信 `【手册VI 809】中信银行视觉识别系统(VIS)手册()`: - **文件名**:视觉识别系统(VIS)手册 - **pdfinfo Title**:营业网点形象建设标准-办公应用 - **封面实写**:VIS 视觉识别系统系统手册(2014版) **两个不可靠信源给出了两个不同的错误答案,只有封面可信。** > 若此前有人按 Title 归类,会把它误记为「网点建设标准」。**引用任何文件身份时,封面 > 元数据 > 文件名。** ## 十四、命名不指示层级,只指示来源 lululemon 在库中有**两份同名不同层的文件**: - 219 页「品牌手册」——**里面没有 VI** - 16 页「品牌LOGO 规范手册」——**里面没有品牌故事** **命名不指示层级,只指示来源。** 判别「品牌手册」与「视觉识别系统」两种叫法的真正依据是: > **文件里有没有「不许可」。** 手册承诺「我们是谁」,VIS 承诺「你不能怎么做」。 > > 反例:**广发「管理手册」的「管理」是虚的**——正文没有任何审批流、版本效力条款或责任人。**「管理」不等于治理;治理信号要看审批/召回/签字条款是否真的存在。** ## 十五、⚠️ 第 4 路去重:改版会被前三路全部漏判 `【手册VI 330】`(64 页,2016-08 改版)与 `【必看181】`(56 页,2013-03 初版)——**同一份 Apple logo guidelines 的改版**: | 去重路 | 结果 | |---|---| | ① md5 | **不同** ❌ | | ② 字节数+Title+CreationDate | **字节不同、CreationDate 不同** ❌ | | ③ Title/Producer/Pages 相似 | **Pages 不同(64 vs 56)** ❌ | | **④ 页数 + 文档内部日期** | **命中** ✅ | > **改版文件通常同时改变页数与内部日期,因此前三路全部失效。** > > 判别方法:**渲染第 2–3 页找版本日期或版本号**。同一 Title 下、页数接近、日期不同的两份,几乎必然是同一文件的改版。 > > **这三路漏判的方向是安全的**——它们不会把改版误判成重复,只会漏掉。**但漏掉意味着把一个版本当成两个证据来源。** ## 十六、L2 单资产层的资产类型极度单一(实测) 以文件名+元数据筛全库 1,279 份,命中单资产关键词 96 份,**真正「整本只服务一个资产」的仅约 40 份,且 90% 是 logo 指南**。 **以下资产类型全库零命中**:字体/字库独立手册、色彩体系、插画风格、动效、纹样、图表规范。 > **含义:本项目至今无法回答「一套字体的 VI 手册会长什么样」,因为库中没有样本。** 遇到声称提供字体规范的文件,先核实它是否只是 Logo 指南的附属章节。 ## 十七、⚠️ 「主动声明放弃」几乎不存在——用沉默定义的变量要警惕 对 6 份 L0/L1/L2 文件实测「主动声明放弃管控范围」:**命中 0 次**。 实际发生的两种声明是: - **转交**(lululemon):「本指南覆盖 basic guidelines…specific communications materials 请咨询我们」 - **拒绝封口**(IBM Be Equal):「Guidance is **not limited to** this document」——**与「主动放弃」方向相反** > **用「沉默」当变量定义,等于把「没想清楚」和「有判断」混为一谈。** > > **判据**:若一个变量的取值需要靠「文件没说什么」来判定,它就不可靠——请改用文件**实际给了什么**来定义。 > > 本项目因此否决了「授权半径」变量,改提名「**约束硬度**」(绝对值 vs 关系式)为候选。 ## 十八、麦当劳 104 页件偏移存疑(按纪律 #5 不下结论) - 某一轮单锚点目视测得物理 p10 = 印刷 8,即偏移 **+2** - 本文件早前记录为 **+3(5 锚点确认)** - 物理 p12 是满版无页码 art 页,**无法取第二锚点** > **单锚点不足以推翻多锚点记录。** 已标记待复核,两值并列保留。 ## 十九、Spotify 有两份页数相同但内容不同的文件 - `【手册VI 286】`(437KB,Adobe PDF Library 11.0,英文,页眉 "Spotify Partner Guidelines") - `【手册VI 533】spotify-识别指南`(5,045,640B,Adobe PDF Library 10.0.1) **页数同为 21p,但 MD5 不同、Producer 不同。** > **引用「Spotify 21p」前必须先确认指向哪一份**,否则页码不可换算。 > > 同类风险:lululemon 的 `【手册VI 1123】`(16p LOGO 规范手册)与 219p 品牌手册是**两份不同文件**,不可混引。 ## 二十、⚠️⚠️ 最高危:`pdftoppm ... -` 不写 stdout,图像比对会**静默返回空** ```bash # ❌ 错误写法:以为 "-" 表示输出到 stdout pdftoppm -f 7 -l 7 -r 45 -gray -singlefile -png "$A" - | md5 # → d41d8cd98f00b204e9800998ecf8427e ← 这是"空字符串"的 MD5 # ✅ 正确写法:必须给真实前缀 pdftoppm -f 7 -l 7 -r 45 -gray -singlefile -png "$A" /tmp/probe/t && md5 -q /tmp/probe/t.png ``` **本项目真实踩中**:用它做去重图像探针,**7 组候选全部返回"内容相同"**——因为两侧都是空。 若不是文本层差异引起怀疑,这个假信号会直接把 7 组全判成重复,**污染全库去重结论**。 > **判据:任何比对工具若"全部命中",先打印它自己的输出长度,确认它真的产出了东西。** > > **同一批文件 100% 相似不是证据,是 bug 的症状。** **附带一条仍然成立的经验**:低 dpi 灰度图**不足以**判别小字差异。 全季两份在 p7 的差别是「投影仪安装须知」虚线框——必须 130dpi 以上目视才能看到, 但两者在 p1/p4/p6/p8 又完全一致,所以**"多数页相同"也不等于重复**。 **去重终判(本轮 7 组 C 类全部结案)**: | 组 | 结论 | 证据 | |---|---|---| | 牧高笛 33p | **合并** | 文本 22/22 行逐行重合,8 探针全同 | | 茶百道 37p | **合并** | 双方均无文本层,8 探针全同 | | 京东 77p | **合并** | 文本 95.4% 重合(差异为字距),8 探针全同 | | 高端女装 42p | **合并** | 文本 81/81 行重合,8 探针全同 | | 野狗 130p | **合并** | 8 探针全同 | | **全季会议室标准 10p** | **不合并=不同修订版** | **130dpi 目视 p7:A 有「投影仪安装须知」虚线框+6 张安装示意图,B 完全没有**;7 探针中 6 个不同 | | **小鹏 217p** | **不合并=不同版本** | **110dpi 目视 p2 目录:A 页码呈「0 0 7」字距拉开且缺「辅助图形**1**-」「品牌**字体**-标识示意」,B 为「007」「辅助图形1-」「品牌字体-标识示意」** | → **唯一内容数由 1,272 下修至 1,267。** ## 二十一、⚠️ 文本层可能是替换密码,数值会静默出错 【必看038】斐乐 FILA 19p 的 `pdftotext` 输出: ``` 0GýDJBM'JMB -PHPT Clear Space Requirements ``` `0GýDJBM` 实为 `Official`。**字符被整体替换,而 `mm` 数值全部丢失。** 后果是「最小尺寸 14/16/18/18mm」这个错数字**传播了两轮**:既有记录写 14/16/18/18,下一轮 agent 复核后写成 14/16/16/18——**四次取值没有一个是对的**。200dpi 逐页目视实测是 **4/10/10/10mm**。 > **判据一**:凡数值型条目来自 `pdftotext`,必须至少抽一页 200dpi 目视比对。 > **判据二**:该数值**已经在记录里出现过第二次**,就说明它没被真正验证过——错数字最擅长藏在这种位置。 > **判据三**:若 `pdftotext` 输出里出现 `ý` `þ` `Ã` 这类字符,或英文全是大写但拼写怪异,判定为替换密码,**该文件全部数值改走目视**。 > > 本项目已确认:多数 CJK PDF 文本层不可靠、部分数字 PDF 可读但只能定位、**加密/子集化 PDF 的数值不可信**——这是第三类。 ## 二十二、⚠️ 子 agent 的「实测值」也会错,必须抽验 上一轮 agent 声称「FILA 实测 14/16/16/18mm,第三个值对不上,按纪律只报不改判」。 **它自己也错了四个值。** 它遵守了纪律(不擅自改判),但纪律没有要求它**目视复核**——它大概率同样依赖了文本层或低 dpi 渲染。 > **「我标了『只报实测值』」不等于「我实测过」。** 报错数字的成本远低于承认不确定。 > > **父会话抽验规则**:凡子 agent 报告里出现具体数字且该数字进入最终结论的,**至少抽 1 条 200dpi 目视**。本轮抽验 1 条即命中 100% 错误率。 ## 二十三、⚠️⚠️ 「全量检索零命中」可能是纯故障——必须报告有效产出量 复核 agent 用 `tesseract -l chi_sim+eng` 跑中文 OCR。**本机只有 `eng`/`osd`/`snum`,没有 `chi_sim`**,命令**静默失败**,生成 **120 个 0 字节 .txt**——而它已据此写下「M Stand 全 120 页零约束」。 它在同一份报告里**主动撤回了这条判定**,改用目视重验 p1–120,结论仍成立,但证据等级必须改写。 > **这是本项目见过最危险的一次失误,因为它伪装成了最可靠的证据。** > > 「全 120 页、零命中、毫无破绽」之所以成立,**恰恰因为什么都没读到**。 > 若非收尾 sanity check 数字符量,错误会从「未验证」升级为「已验证」——**比原断言错得更深**。 > ### 硬规则 > **凡以「跑一遍没命中」为证据,必须同时报告两件事:①跑了多少 ②读进去多少。** > > **计数完整 ≠ 检索成功。** 那个实例里输出文件数是 146/146(看似完美),实际字符量是 0。 > > **通用检查**:`ls -la *.txt | awk '{s+=$5} END {print s}'` —— 总量为 0 就是故障,不是发现。 **三次教训是同一个形状**: | 工具 | 静默失败方式 | 表面 | |---|---|---| | `pdftoppm … -` | 不写 stdout,返回空字节流 | MD5 正常,只是两个空值相同 | | `tesseract -l chi_sim+eng` | 缺模型,返回空文本 | 文件数 146/146 齐全 | | FILA 替换密码 | 返回**错**内容 | 有输出,格式正常 | > **失败是静默的,而成功时输出看起来完全正常。** 这类工具不能靠「看起来有结果」来判断,必须靠**产出量**。 ## 二十四、⚠️ 单页「中缝纯白」不能证明是跨页合并 A4 横向 PDF 里有两种:①**两页竖版并排的跨页本** ②**单页横版设计**。二者元数据完全同形。 **初版判据(错)**:渲染 p3,测中央 3% 竖条白色像素比 ≥0.98 → 判为跨页合并。 **结果**:321 份中命中 47 份。 **证伪**:目视 `pidan品牌手册2018版.pdf` p3——那是**单页横版,只是左半页留白**,右侧是 Operation overview 年表。内容根本没跨中缝。 **修正判据(对)**:必须同时满足 ①中央竖条纯白 ②**左右两半都有内容**(各自非白像素 >2%) ③**多页取样**(p2/4/6/8/10),要求 ≥80% 的页同时满足。 **修正判据(也错)**:必须同时满足 ①中缝纯白 ②左右两半都有内容(各 >2% 墨迹)③多页取样(p2/4/6/8/10)≥80% 命中。 结果 47 → **4 份**。看起来收敛了。 **但抽验这 4 份中的第 1 份就再次证伪**:目视 `pidan产品手册2020.pdf` p4——那是**贯通全幅的双语时间轴**,左半 2015–2017、右半 2018–2019,中缝只是两列之间的空隙,**不是装订线**。 > **目视 4 份,命中真跨页合并 0 份。** **最终结论:这条自动判据整体不可用。321 份全部标为未决,必须逐份目视。** > **两次尝试,同一个形状的失败:** | 判据 | 命中 | 抽验 | |---|---:|---| | 中缝纯白 | 47 | 抽 1 → 假阳性 | | 中缝纯白+左右有内容+多页 | 4 | 抽 1 → **仍假阳性** | **失败是结构性的**:跨页本的装订线特征是「两个独立页面各有自己的页眉页脚与版心」,而**单页横版设计同样能造出中缝**——双栏、时间轴、对称构图都产生同样的像素特征。 > **「中缝在哪」不在像素里,在语义里。** 不读出左右两半的页码/页眉是否独立,就判不了。 > > **任何自动判据报出数量后都要抽 1–2 份目视。本项目两次都验证了这条,且两次抽验都失败。** ## 二十五、⚠️⚠️ 合理的数字会填掉难辨的数字 FILA 最小尺寸被**三个独立读取者**读成三种值: | 读取者 | 报出的值 | 是否自称实测 | |---|---|---| | 既有记录 | 14/16/18/18 | — | | agent(约束硬度轮) | 14/16/**16**/18 | 是 | | agent(承担方轮) | 14/16/18 | 是(自称 correction found) | | **600dpi 复核** | **4/10/10/10** | — | **三次错误全部落在 14–18 这个区间**,因为 FILA 文本层是替换密码,数值读不出来,而 **14/16/18mm 恰好是品牌手册最小尺寸的「典型合理值」**。 > **正确值 4mm 之所以三轮没人读到,正是因为它不像一个最小尺寸该有的值。** > > **判据:如果某个数值「太合理」——正好落在同类文件的常见区间——它反而更可疑。必须提高分辨率复核到无可争议。** > > 复核方式:不要整页看,**裁切带测量标尺的那一小块**。父会话 600dpi 裁切后标尺括号与「4mm」标签完整无歧义。 ## 二十六、⚠️ 「无文本层」不等于「没有内容」——它只等于「检索不到」 麦当劳真 VI 手册(【手册VI 428】,104 页)被**三轮判决任务连续排除**,理由都是「无文本层,未逐页目视」。 **父会话用 40dpi 联络表一次通览 104 页即确认它就是正本**——内页目录写明 03 BRAND GUIDELINES,还有 Logo Guidelines、Image guidelines #1–#4、Store requirements 技术立面图。 > **「检索不到」和「不存在」是两个判断。** 把前者当后者,等于把最贵的那份文件扔掉了。 > > **动作纪律:任何被判为「因无文本层而排除」的文件,必须至少做一次联络表通览**(PIL 拼图,40dpi 即可,成本极低)。 > > 本项目已有两份文件因此被误判:麦当劳(104 页真 VI)与这一轮的 47 份跨页本候选。 ## 二十七、⚠️ macOS `xargs` 没有 `-d`,整条命令静默失败 `xargs -d '\n' -I{} ...` 在 macOS(BSD xargs)上**不存在 `-d` 选项**,命令直接失败、无报错。 agent 用它跑全库 MD5,**只产出 48/1561 行**。如果不核对行数,会直接得出「全库仅 48 个唯一文件」的荒谬结论。 > **与 PITFALLS 二十/二十三同一形状:工具静默失败伪装成结果。** > > **判据:任何批量命令,先核对「预期条数 vs 实际条数」。** 不核对就不要用它的输出。 **批量处理请直接用 Python**,不要跟 BSD/GNU 的选项差异搏斗。 ## 二十八、⚠️ `pdftotext` 非空 ≠ 内容有效 全库 1,271 份抽取「全部非空、2876 万字」——**但 326 份(25.6%)<50 字/页**,`2.3_符号指示系统.pdf` 全书 **1 字/页**。 那 326 份产出的是页眉页码、分隔符之类**页面伪影**,不是内容。 > **判据:全库关键词统计必须先按「字/页」分层,并把有效分母写进结论。** > > 本项目这轮所有比率都以 **840** 为分母,不是 1,271。**分母错了,分子再准也没用。** ## 二十九、⚠️ 装饰排版页在 100dpi 下错得最离谱 一善儿童书店 p11(数字被排成一串超大字号装饰): | 分辨率 | 读到的内容 | |---|---| | 100dpi | 5 家门店 / 1800㎡ / 20000+ 曝光 | | **200dpi** | **5 种语言 / 1800 种 / 20000+ 平方户外空间** | **错 3/5。** > **越是「排版成大字当装饰」的数字,低分辨率越容易读成另一个合理解。** > > 判据同第二十五条:**数值越醒目、越符合常识,越要提高分辨率复核。** ## 三十、⚠️ 小数点是本项目丢过最贵的字符 星巴克 p6 最小尺寸被读成「**375″**」,300dpi 复核的真值是「**.375″(9.5mm)/ Web 50 pixels**」。 **根因**:正文小字号 + 低分辨率 → 小数点消失 → 剩下一个**荒谬但格式正确**的数字。 > ⚠️ 注意方向:**错的值不合理(375 英寸的 logo),对的值看起来太小(.375 英寸)**。 > > **合理性与真实值无关,只与你的先验有关。** 你觉得「最小尺寸应该是 9.5mm 而不是 375 英寸」,于是补了小数点——**方向正好相反**。 > **判据**:任何英寸/英尺值,**先确认小数点是否存在**,再判断量级是否合理。顺序反了就会被自己的常识带偏。 ## 三十一、⚠️ 六轮变量判决的共同死法 | 变量 | 死法 | |---|---| | 授权半径 | 用沉默取值 | | 版本层密度 | 字段混入别的层 | | 约束硬度 | 是模块属性不是文档属性 | | 离现场距离 | 主变量不可评分 | | 承担方测量能力 | 两个轴都不是它 | | 约束产出介质 | 与量纲混淆,方向相反 | > **六个都是「中层标签」——描述文件或场景的某个侧面,但都不触及产生数字的物理事实。** > > 底层的三样是:**量纲**(数字能不能被核)、**产权**(谁有权改)、**基准**(相对式能不能还原成绝对值)。 > > ⚠️ **反面可能性必须保留**:再失败一次的话,说明的不是「找错了层」,而是**现象本身多维、不存在主导维度**。 > > **判据:提名新变量前,先问「这是中层还是底层」。** 中层标签已连续失败六次。 ## 三十二、⚠️⚠️⚠️ 找到文件 ≠ 找到正本 麦当劳 104 页件(`【手册VI 428】`)被连续三轮任务以「无文本层」排除。父会话用 40dpi 联络表看到「3 BRAND GUIDELINES」「Logo Guidelines」「Image guidelines #1–#4」「Store requirements」+ 技术立面图,**当即断定「麦当劳真 VI 手册已定位」,并写进仓库关闭长期待决项**。 **下一个 agent 推翻了我**。这不是官方 VI 文件,**是学生作业**: | 证伪信号 | 出处 | |---|---| | **人名+编号** `Gloria Yasein / N0753203` | 物理 p3 | | **第三方版权+会过期的东西** `©2014 McDonald's`/`Coca-Cola Ltd. used under license`/`Printed in Canada`/有效期 2014-11-20 至 12-03 的**加拿大沃尔玛优惠券** | p85 | | **跨市场拼接** 印度菜单 + 印尼活动锁定件在相邻两页 | p52–p53 | | 再发布容器 TCPDF/Vebuka.com/ISSUU | 元数据 | > **企业 VI 母版不会嵌入一张会过期的、单一市场的、带第三方版权的促销券。这一条单独结案。** > ### 判别正本的四个外部信号(任一即可) > 1. **人名+编号**(学生作业、设计师署名) > 2. **第三方版权**(`used under license`、`Printed in XX`) > 3. **会过期的东西**(促销有效期、活动日期、时效声明) > 4. **跨市场拼接**(相邻页属于不同国家) > > **四条全都在文件里,而且全都不在目录上。** > > **「目录里写着 BRAND GUIDELINES」只能证明它自称是什么,不能证明它是谁做的。** ### 我在同一张 40dpi 联络表上同时读错了三处 | 我写的 | 实际 | |---|---| | 「麦当劳真 VI 手册已定位」 | **学生作业** | | 「p1 有 Santa Tracks 06/13/2013」 | **不存在**(400dpi 裁切整个右下象限只有金拱) | | 「p4 = 目录」「p59 = Healthy Options」 | **p7**、**p57** | > **一次联络表通览,同时产出 1 个正确观察和 3 个错误。** > > **联络表只能回答「有没有这类内容」,不能回答「这份文件是谁做的」「哪一页是哪一页」。** ### 两条延伸教训 1. **一个早已存在于项目记录里的反证,比一份没读过的正本更容易被漏掉。** 下结论前先搜「这个文件此前被判过什么」——**记录的检索成本远低于文件的通读成本**。 2. **连续被以「无文本层」排除的文件,尤其可疑。** 排除理由越方便,越可能是没查。 ### 附带取证纠正 - `3/8" DIA ANCHOR BOLTS` → **400dpi 实为 `3/4"`**。**这条数字早已被引用,说明它很可能从未被目视验证过。** - Logo Guidelines 是 **8 条**,不是 7 条。 - 偏移 **+3**(5 锚点:37→34、51→48、53→50、57→54、98→95),**推翻 PITFALLS 十八的 +2**。 ## 三十三、⚠️ 子 agent 推翻父会话结论时,不要要求它「谨慎」——要保护它推翻的权利 麦当劳这轮,agent 在封存答案里把「项目记录与任务书矛盾」登记为**待检假设**(而不是选一个信),开 PDF 后直接验证并**推翻了父会话上一轮刚写进仓库的结论**。 **这正是任务书里「你要的是判决不是确认」这句话兑现的样子。** > ⚠️ 如果任务书写成「请确认麦当劳手册已定位」,agent 大概率会顺着写,然后错误被固化。 > > **判决性任务必须明确授权:可以推翻父会话刚下的结论,而且推翻会被优先采纳。** ## 三十四、⚠️⚠️ 页脚小字最危险:错在语义补全,不是乱码 兜底类型判决轮里,agent 在**一条关键证据上 200dpi 误读页脚**,把 > 「本手册所示的字体和图片仅作手册说明用途,**必须获得正式的版权后方可使用**」 读成了「**本手册所有未标注的内容均应参照范例进行绘制**」——一句语义通顺、但**完全不同**的完备性默认条款。 **据此建立的新类型 N6 已撤回**,依赖它的判据 4 一并重写。 > ### 为什么这道自查拦不住它 > > 中文正文读不出来时会产生乱码,**乱码自己会报警**。 > **页脚读错时产生的是一句通顺的句子——它看起来完全正常。** > > **「我目视过吗」这道自查对乱码有效,对语义补全无效。** > **判据:页脚、版权栏、法务小字、水印,必须 400dpi 以上裁切转写。** > > 已用 500–550dpi 复核全部高风险转写:招行 p5、巴黎 p42、广发 p2 正文与页脚,逐字无误。 > > **600dpi 裁切带标尺小图这个方法,本项目已三次成功拦截错误**(FILA 4mm、麦当劳 3/4"、本页)。 ## 三十五、⚠️ 并行会话会对同一文件给出互相矛盾的结论 麦当劳 104 页件,本轮有**两个 agent 独立处理**: | agent | 结论 | |---|---| | 深读轮 | **不是正本,是学生作业**(p3 人名+学号、p85 加拿大沃尔玛优惠券) | | 兜底轮(早几十分钟启动) | 「**confirmed as genuine (a)-class VI**」,全 104 页无出口 | **两个结论不矛盾,但也不互相覆盖**——兜底轮回答的是「这份文件属于哪一类」,深读轮回答的是「这份文件是谁做的」。**只有后者能推翻前者的前提。** > **判据:并行任务的结论必须回写到同一处,再统一裁决。** 不要让两份看起来都对、但建立在同一个未经检验的前提上的结论各自留在仓库里。 **这正是麦当劳事件真正的成本**:不是 agent 判错了,是**父会话把一个未检验的前提("文件已定位")当成结论写进了仓库,并关闭了一个长期待决项。** > **长期待决项的关闭条件应当比结论的产生条件更严。** > 「我找到了一份很像的东西」永远不足以关闭「真正的 X 在哪里」。 ## 三十六、⚠️⚠️ 关键词零命中可能是术语换了,不是内容没了 8 份汽车文件宽窄双口径检索:「**净空**」0、「**试驾**」0、「**改装**」0、「**展厅**」0。 **但净空确实存在** —— 广汽丰田用的是「**不可侵犯区域**」,一个法律词。**法规标识也没被忽略,被重新命名为「非品牌识别元素」。** > **判据:做全库关键词统计前,先确认这个词在该行业的说法。** 同一概念在不同品类有不同名字:净空/不可侵犯区域/keep-out zone/exclusion zone/安全边距。 > > 与第三十二同族:**外部信号缺失 ≠ 内部事实缺失。** ## 三十七、⚠️⚠️ 枚举足够多的切分,总会找到一个「显著」的 约束产出介质轮报出「screen 伪绝对值 6.7% < physical 10.5%,**Fisher p=0.6871**,方向相反」,并据此写成「模式三十一 · 决定性」。 **下一轮把那个标签随机化、枚举全部切分,结果:13.88% 的随机切分能得出 Fisher p<0.05。独立复核比率是 1/77(1.3%),而非 8.6%。** > **那个「发现」落在随机波动范围内。** > > **判据:凡靠分组比较得出的结论,必须报告它在随机标签下的重现率。** 只报 p 值不报随机基线,等于没做检验。 ## 三十八、⚠️ 统计函数返回「所有 p 都是 0.0000」一定是实现有 bug 量纲轮自检:Fisher 实现漏了项,全部 p=0.0000。**a=0 时 p 必须等于 1,不可能为 0。** agent 用「品茶实验」(已知双侧 p≈0.4857)自检推翻了自己的实现,重写为精确算法。 > **判据:拿一个已知答案的算例自检。** 不用自检,统计结论就是把 bug 当发现。 > > 另两例同轮拦下:变量遮蔽 `c+d`(`d` 仍是字符串)→ TypeError;**40dpi 联络表把 LEGO 页码读作「+3 偏移」,200dpi 实为偏移 0**。 ## 三十九、⚠️⚠️ 容器指纹(Producer/Creator)不等于内容造假——按容器判会造出 2/3 假阳性 麦当劳事件之后,容易滑向「凡 `TCPDF`/`issuudownload.net` 的都可疑」。**这条推论是错的。** 实测同一容器下的三份文件: | 文件 | 容器 | 判决 | |---|---|---| | `【手册VI 428】McDonald's` | TCPDF + Vebuka | **伪**(学生作业) | | Lexus 品牌指南 | TCPDF + Vebuka | **正本**(p50 `P4-020 (1/04) 00202-LEXGUIDEBK Printed in U.S.A. (5M) ©2004 Lexus`) | | Jeep 服饰 | TCPDF + Vebuka | **正本** | | `【必看088】Tiffany` | issuudownload.net | **伪**(学生作业) | | 匡威 Converse | issuudownload.net | **正本**(p18 带 `Converse Netherlands B.V. … número 34186851` 荷兰商会注册号) | **按容器判,正本里会误杀 2 份,伪本只抓到 1 份。** **容器只能用来排优先级(先看谁),不能用来定罪。** 定罪必须回到内容里的版权声明、法律主体、承印信息。 反过来,**一个指纹反而成了学生作业的强证据**:`N07xxxxx` 学号序列同时出现在麦当劳 `N0753203`、Burberry `N0728408`、Tiffany `N0733170` 三份不同品牌的文件里。这是可批量扫描的正例指纹。 ## 四十、⚠️⚠️ 找「不可能存在」的东西,不要只找「可疑」的东西 识别伪正本时,「像不像正本」这类**存在性**检验会踩语义补全的坑(小字读错、版权栏格式相近)。 **「不可能存在性」检验不受这个坑影响**——它们读出来是荒谬的,不是相似的: 1. 末页 Sources 页粘进 `google.com/search?rlz=1C1GCEU_enUS850US850&biw=1920&bih=920&tbm=isch&gs_l=img.1.0.35i39I`(带浏览器会话参数) 2. `Signed……` / `Date…./…./…` 的**空白未填**伦理审批表,出现在名为「XX 品牌手册」的文件里 3. 品牌手册里出现**会过期的东西**:优惠券有效期、活动日期、任期 4. 学生姓名 + 学号 **判据强度排序**:不可能存在 > 外部归属 > 存在性相似。 ## 四十一、⚠️⚠️ 纵向对读的前提本身要先被检验——「同一个品牌的不同版本」经常根本不是同一本书 任务设定「蔚来 398p(2019) → 176p(2021) → 198p(2023),约束去哪了」。实测: - **398p** = 《NIO 视觉识别系统》第 1.4 版,封面印「严格保密」,全书 287 条约束,**真 VI 手册** - **176p / 198p** = 《一个PDF看懂蔚来》2020.12 与 2023.07 版,**同一本企业宣传册的两版**,零 VI 章节 **三份里有两份不是同一本书。** 「版本变薄 = 约束被移走」这个推理链从第一步就不成立。 **做纵向对读之前必须先证明三件事**: 1. 三份是**同一类文档**(都叫品牌手册?不必然) 2. 三份有**版本继承关系**(版号/日期/前后文引用,不是文件名相似) 3. 页数差**不是装订颗粒度不同**(一本合订本 vs 一本单册) 蔚来这一例还叠加了一个陷阱:**「一个PDF看懂蔚来」和「蔚来视觉识别系统」都叫蔚来品牌手册**,在文件名层面完全无法区分。 > **纵向对比的失败模式不是「数错了」,是「比的根本不是同一种东西」。** 横向对比至少保证是同类文件,纵向对比连这个都没有。 ## 四十二、⚠️ 转交型出口:子文档版本号可能高于母手册 蔚来 v1.4 母手册全书无展厅/空间章节,治理页(p386、p395)把这一层外移到 4 份独立文档,其中 `NIO House 室内标示系统设计第 1.7 版` —— **版本号高于母手册的 1.4**。 推论:**母手册的版号不等于它所辖文件集的最高版号。** 想知道一个品牌 VI 系统的真实版本状态,只看母手册会低估。 判断「这份手册管到哪」的时候,必须把它的**转交指针追到底**,否则会把「转交出去的层」误判成「漏写的层」。 ## 四十三、⚠️⚠️⚠️ 同一个标题在 30 / 200 / 600dpi 下被读错三次 亚朵 p 段的章节标题 `3.2 生动态化应用系统`: | 分辨率 | 读成 | |---|---| | 30dpi(联络表) | 「生化应用系统」 | | 200dpi | 仍不确定 | | **600dpi** | **「3.2 生动态化应用系统」** | **连 200dpi 都不够。** 这不是新坑,是第三十八条(装饰排版页 100dpi 错 3/5)的升级版,但严重性完全不同: - 100dpi 错的是**普通正文**里的数字 - 这里错的是**整个章节的名字** 而本项目研究的东西(终稿权、版权、承印、审批方)**大量集中在页脚、版权栏、章节标题这类「排版元素」上**——恰好是低分辨率最读不对的地方。 > **要研究「谁说了算」「归谁所有」,直接上 600dpi,不要 200dpi。** > 200dpi 复核这条纪律是为**中文条文**设的,**不适用于排版元素**。 ## 四十四、⚠️ 任务前提里的「版本关系」可能根本不存在 蔚来那份(`REPORT-VERSION-DIR.md`)任务设定「398p(2019) → 176p(2021) → 198p(2023),约束去哪了」。实测 176p/198p 是**同一本企业宣传册的两版**,与 398p **毫无版本关系**。 假日那份被怀疑是「版次不明的第二份」,实测**两条路径 MD5 相同,是同一份**。 > **文件名里的「品牌名 + 页数」不构成版本关系。** 做纵向对读前必须先证明:(1) 是同一类文档;(2) 有版本继承关系(版号/日期/正文互相引用);(3) 页数差不是装订颗粒度不同。 > > 三条任一不成立,这次纵向对读就是无效的。 ## 四十五、⚠️⚠️ 批量抽取语料必须先验证产出,再相信「零命中」 执行者穷举任务把 1,561 份 PDF 全量抽文本层。这是个正确做法,但**结果必须先验产出**才能用于统计: - 1,561 份 → **1,527 份可用**(分母不是 1,561) - **33 份空文本层**——空是内容属性还是抽取失败,必须区分 - **0 个零字节失败**——这一项必须单独报,因为零字节失败会伪装成「零命中」 - 374 份低密度需单独标记 **零字节文件 = 工具故障;小体积文件 = 内容属性。** 两者混在一起,会把「没抽出来」统计成「没有」。 另:串行抽取 1,561 份耗时约 40 分钟(10 分钟只完成 116 份),换多进程后大幅加速。**大规模抽取必须多进程,且必须能从断点续跑。** ## 四十六、⚠️ 关键词计数只能作召回,不能作证据 同一轮里,`\\bIT\\b`、`\\bmembers?\\b`、`\\bpress\\b` 在全库造成严重假阳性。 执行者任务的处理方式值得固定下来: > **没有任何一类是靠计数成立的——每一类都必须有目视转写证据。** 计数回答「该往哪看」,不回答「有没有」。把计数当证据,等于把召回率当精确率。 ## 四十七、⚠️⚠️⚠️「agent 主动纠正」本身是需要复核的断言 `REPORT-VERSION-DIR.md` 的 agent 在正文里主动声明:「200dpi 抓住了文本层错误(`pdftotext` 把蔚来 p65 的『请阅』静默补成『请参阅』),以 200dpi 为准」。 **我在没有独立复核的情况下,把它作为「又一个文本层语义补全实例」写进了仓库。** 后续 `REPORT-HANDOFF.md` 的 agent 在 600dpi 逐字复核同一页: > 「完整规范请阅**参**品牌资产管理中相关的具体文件。更多详情请阅**参**上述文件。」 **两处都是「参阅」,原文本就含「参」。不存在补全。那条记录是错的。** > **agent 声明「我纠正了一个错误」时,它报告的是自己的判断,不是事实。** > > 本项目已有一条同构结论:**执行者被点名 ≠ 执行者有权批准。** 一次自我纠正被报告、被采信,中间**还差一道独立目视**。 > > 尤其危险的是这类「自我纠正」听起来特别负责——它主动削弱自己,反而更容易被免检。 **固定动作:任何进入仓库的「agent 自我纠正」,一律降级为「待复核断言」,由另一条证据线确认后才能升格。** ## 四十八、⚠️ 断链有三态,最危险的一态是「检索成功但链接仍断裂」 判别转交是否可达时,只查「文件在不在」是不够的。实测三态: | 态 | 现象 | 风险 | |---|---|---| | 1 | 文件不在库 | 执行者知道要问人 | | 2 | 文件在库且对 | 正常 | | **3** | **文件在库、检索成功、但它不是那份文件** | **执行者会找到一个看起来对的东西,然后照着它做** | 汉庭指名「华住提供的 VI 系统手册」,库内确有 `华住酒店集团品牌手册`(89 页),但它是集团企业形象册,**零 VI 章节**。 > **态 3 比态 1 更危险:态 1 会让人去问,态 3 让人不再问。** > > 任何「指针可解析」的结论,必须**打开目标确认它含有指针所承诺的内容**,不能停在「文件存在」。 ## 四十九、⚠️⚠️ Agent 可能做完全部取证却没写报告——任务仍被标记 succeeded 实测:「非商业主体 VI」任务把 1,561 份抽取、十份全部目视、几十页高分辨率取证**全部做完**,过程记录的最后一句是「Writing the report」——然后**在写文件之前结束了**。 `SEALED-PUBLIC.md` 在,`REPORT-PUBLIC.md` 不存在。**任务状态是 succeeded,零字节失败。** > **任务成功 ≠ 交付物存在。** 父会话必须检查文件是否真的落盘,不能只看状态。 **缓解措施(已在后续任务书中加入)**: 1. 关键结论**边做边写**,不要攒到最后一次性落盘 2. 至少在取证主轮结束后先写一版**含全部关键引文的骨架**,再补分析 3. 父会话收割时**一律先 `ls` 交付物**,缺失则用 `task_append` 让它续写——**它的上下文和渲染产物都还在,续写比重跑便宜得多** **更一般的教训**:长任务的失败点往往不在难处,在收尾。**收尾动作要和取证动作分离,交替进行。** ## 五十、⚠️⚠️ 分类失效的根因往往是「行定义不干净」,不是粒度太大 旧兜底分类被判死的理由是「混了三种语法、跨六层」。重画时找到了真正的根因: > **把字段升成了类别。** 把「答案的产物是什么」(终稿 vs 修订)和「渠道是什么」(邮箱 vs Slack)当成类别。 后果是可算的:**招行与微软这两个同类实例在旧表里被拉开 8 位,于是交集必然非空。** 而且旧表里**有两行根本不在这一层**(验收手段/边界声明属性)。 > **判据**:一个分类如果「互斥性失败」,**先查是不是有几行在回答不同的问题**,而不是先怀疑粒度。 > > 把「产物是什么/渠道是什么/谁来批准」三种东西塞进同一列,交集非空是数学必然,不是数据问题。 > > 检验方法:**同一份文件的两个同类实例,在表里隔了几位?隔得远 = 混了字段。** ## 五十一、⚠️ 分类建完之后必须做留出检验 新兜底五级判定顺序在 **7 份文件**上建起来(招行/星巴克/亚朵/F1/巴黎/汉庭/微软)。 > **用它自己见过的样本无法证明它成立。** 这正是本项目七个候选变量连续被否决的同一个陷阱——每一次都是从「横截面上看着成立」开始的。 **已派留出检验**:8–12 份未参与建类的文件,跨品类跨语言跨主体性质,回测三件事——判定是否稳定、五级顺序是否真互斥、**「假设了执行者哪种能力」这条是否重新掉进不可证伪陷阱**。 第三条最关键:设计者自己承认那条判据**是上一轮被降级的不可证伪判断换了个位置回来**,替代方案是强制回答「**不具备此能力会被推向什么后果**」。 > **「换个位置」不等于「脱胎换骨」。必须实际检验替代方案是否真的可证伪,而不是换了说法。** ## 五十二、⚠️ 页码偏移不要照抄任务书,必须自己实测 同一个文件被两个独立 agent 实测,结论可以不同: | 文件 | 任务书记载 | 实测 | |---|---|---| | 汉庭 | +3 | **+4**(物21 = 印17,两个 agent 各自独立目视得出 +4) | > **任务书里传递的偏移值是上一轮的结论,不是事实。** 每次用到都要自己用页脚锚点实测。 > > 正确的处理方式是**两个值并列**并注明未决,而不是挑一个信。 ## 五十三、⚠️⚠️⚠️「用后果句替代不可证伪」是一个恒真的门槛,不是修法 兜底分类的替代方案是:把「假设了执行者哪种能力」降为验证手段,强制回答「**不具备此能力会被推向什么后果**」,使五条可证伪。 留出检验判定:**掉了,而且比原来更深。** | # | 硬理由 | |---|---| | ① | 能力栏**由类别唯一决定**——是查表,不是测量 | | ② | 它与类别分处**正交两轴**(执行者轴/答案归属轴),后果句在原理上无法推翻标签 | | ③ | **「写不出后果就作废」这道门槛恒真**:只要条款管的就是「没写到怎么办」,那么「不照做就没有依据」对**每一条都成立** | **实测五条后果句,3 组互换后无损**——把 Q1 的后果句安到 Q3 上,同样通顺。 > **它没有变可证伪,只是换了个列放着。** > > 一般规律:**当一条判据的判别式恒真时,它就不是判据。** 它降级为「提问的起点」——换手册时用它提问,但不用它分类。 ## 五十四、⚠️⚠️ 分类留出检验的三个必查项(本项目固化) 一次分类建完之后,**必须**在未参与建类的文件上做留出检验,并逐项检查: 1. **子类包含关系**——Q2 外派型实测是 Q3 请示型的**真子集**(「处置权在某人那里」必然蕴含「答案在某人那里」),顺序分不开。**4 处双判据同时成立中 2 处顺序判错。** 2. **最尖锐的形态有没有格子**——英格索兰 `this is a dynamic document`、`subject to change without notice`、CUNY `arguably incomplete` 全部落进「非兜底」。**手册自认非终局,却没有格子。** 3. **判定稳定性**——间隔重判一次。凯迪拉克物214(审批权在 `publicis.com` 外部代理的具名人 Grace Fong 名下)**从 Q3 改成 Q2**。**判定不稳定 = 判据依赖了不属于它的信息。** > **留出样本的实际分布也必须报**:本次请示型 7/转交型 1/**让位型 0、外派型 0、自担型 0**。**五类里三类一次都没出现**——这是「分类覆盖了现实」的警报,比「误分类率」更有信息量。 ## 五十五、⚠️ 反面教材:零命中最常见的成因是工具故障 **青奥会**文本层 152 字/页,**关键词零命中**——目视立刻读到「无权在未得到…授权的情况下使用」。 同型已发生过三次:招行 VI 文本层 **0 字符**、亚朵 **179 字符/180 页**、麦当劳 21 份 ISSUU 件**全部读不出字**。 > **任何「零命中」在成为结论之前,必须先回答:这个文件有文本层吗?文本层有多长?** > > 报告口径固定为:**「跑了 N 份,读进去多少字符」**——先验产出,再信统计。 ## 五十六、⚠️⚠️⚠️「缺失型断言」的抽样区不只在页码里,还在「章节类型」里 中粮 200p **逐页目视**结论:国标/法规/属地审批**零条**(全书 image-only,文本层 200 字节,200 页渲染 0 失败)。 但创维 186p 的同类内容**全部存在**: | 位置 | 内容 | |---|---| | p97 合同书模板 | 引用**《中华人民共和国合同法》** | | p126 包装模板 | **国家强制认证产品/企标 Q/SCWR 003-2017** | | p87 | **粤ICP备15057125号** | > **它们不在治理章节,在应用稿件里。** > > 已有的方法论只防住了「页码抽样区外」,**没防住「章节类型区外」**——只读规范章节会把有约束的文件误判为零约束。 > > **固定做法:任何「某类内容不存在」的断言,必须同时扫过 ①条款层 ②应用稿件层 ③版式标注层。** > > 同一份文件的反例:创维的约束在稿件层、中粮的兜底(p176「可退级使用弱势背书」)也在稿件层。 ## 五十七、⚠️ 用「证据类型」检查主张,别只检查证据 模式二十七「中文 VI 把本地义务入册」被判死的根本原因,**不是引文错,是引文类型与主张不匹配**: - 主张:**中文特有**(一个关于语言/国别的属性) - 证据:招行 p3「任何新增运用项目必须向总行办公室提出申请」、p5「本手册未包括的内容,请通过总行办公室获取设计标准」 - **这两条引文不含任何「本地」属性**——它们是**缺口回填**(手册没写的去找总行办公室) > **用一条无本地属性的证据支撑一条本地性主张,是循环论证。** > > 检查动作:把主张里的每一个限定词(中文/大型/公共/跨国)拿去问证据——**这条证据真的带这个限定词吗?** 带不上就是类型错配。 ## 五十八、⚠️⚠️⚠️ 三次同类事故:agent 报告转述未经复核就写进仓库 本项目已发生**三次**同一形态的事故: | # | agent 声称 | 实测 | |---|---|---| | 1 | 蔚来 p65「`pdftotext` 把**请阅**补成**请参阅**」 | **600dpi 证伪**——原文两处均含「参」 | | 2 | NatGeo 113p「**中文版**」 | **全英文**(可打印字符 0.997),全库无中文版 | | 3 | 亚朵 p39「`7mm厚铝板烤漆,银粉银漆`」 | **该句不存在**——p39 是施工图页,实为 `1.5mm厚不锈钢围边箱体,深灰色烤漆` | **三次都是同一个动作**:agent 报告里的一句话,被我直接搬进仓库、模式卡、甚至继续传给下一个 agent。 **根因**:agent 的报告和 agent 的引文,**在转述层级上丢失了「我有没有亲眼看过」这个标记**。 **固定动作**(已写进派发模板): 1. **凡引用具体数值/具体页码/具体措辞的引文,进入仓库前必须由父会话打开渲染图确认。** 2. **父会话写进下一个 agent 任务书的引文,必须标来源等级**(「父验/文本层/仅转述」)。 3. **同一份引文被引用第二次时,必须重新核**——第一次可能是错的,第二次更可能是错的(因为它已被当成事实传播)。 > **这是本项目第 58 条,也是最便宜的一条:错误不会自己暴露,只会越传越像真的。** ## 五十九、⚠️「工艺名替代了数值」是错的——真正的零参数在金属侧 封存时预测「每种工艺名都在替代某个数值」。**实测方向相反**: - **工艺参数可以是数字,而且有手册真的写了**:伏牛山泉 p17 给 `铜版纸175线/胶版纸国产133线/进口150线/新闻纸100线`;亚朵 p39 施工图给 `1.5mm厚不锈钢围边箱体,深灰色烤漆` - **金属侧全库零参数**:凯迪拉克 p181 四种工艺(Embossing/debossing/varnish as ink/silver ink or foil)**一个数都没有** > **泛化到「工艺」这一层会得出错误结论。零参数是金属侧的属性,不是工艺的属性。** > > 这是「约束硬度不是文档属性」的同构错误——**别把某一子类的性质推广到整层。** ## 六十、⚠️ 免责条款的锚点可能不在你以为的地方 滴滴 p16 的免责原文是「始终以实际情况下**标志的可识别性**为最终判断依据」。 > **免责保护的是「标志能不能被认出来」,不是「颜色对不对」。** > > 一份手册可以在颜色语境里写免责,但它的法律锚点在**可识别性**上——**读免责条款时必须找到它到底在保护什么**,否则会把「免责存在」误读成「数值可核」。 ## 六十一、⚠️⚠️ 一个判据在 27 份样本里只命中 1 次——那是**未经检验**,不是「有效」 兜底分类第二轮检验:修正建议 R1–R7 落地后,**Q2 外派型在 15 份新样本 0 命中,两轮 27 份只中 1 次**。 于是 R7「给 Q2 加义务转移门槛」**一次都没触发过**。 > **一条修正措施如果从未被触发,它没有被验证,也没有被否定——它只是没有被执行过。** > > 「没触发」和「工作正常」在报表上长得一模一样。必须区分: > - **触发过且通过** = 有效 > - **触发过且不通过** = 无效(可据此修) > - **一次都没触发** = **未经检验** **检验动作**:报出每条修正的**触发次数**。触发次数为 0 的修正,不得计入「已修复」。 ## 六十二、⚠️「不可证伪」的替换物必须能拒绝点什么 原方案「写不出后果就作废」被证明恒真(OPPO物10/施华洛世奇物127/贝壳物96 上 **100% 通过率**)——因为「不照做就没有依据」对每一条兜底条款都成立。 替换物:**「失败条件必须与条款同页可读,读不到就作废」**。 > **它在贝壳物96 上当场判死了一条旧门槛会放行的条款。** > > **判据有效性的实际含义不是「能分类」,是「能拒绝」。** 一条从不拒绝任何东西的判据,就是恒真的装饰。 **但要明说代价**:它检验的是**条款**,不是**类别**,**救不了分辨力**。不要用一个诚实的局限去掩盖另一个没解决的问题。 ## 六十三、⚠️ 文本层可以是纯符号密文,连「密度」这个指标本身都是假的 **百度VI** 的文本层是 `\\x01\\x02○` 这样的符号密文(子集字体替换密码的极端形态)。 后果比「零命中」更严重:**连「374 字/页」这个密度指标本身也是假的**——你报告的分母建立在垃圾字符上。 > **固定动作**:任何文本层统计,先**打印前 200 个字符看一眼**。 > 只看长度不看内容,会把密文当成「低密度但有效」。