# 独立样本验证 — sample_verification.md ## 样本选择与独立性核实 - **选用样本**:`data/companies/e2e-demo/runs/run_fa4d7e2bec49/nodes/rn_fc9155c598ef/test.log` (knowhow §三"样本3",被测项目 `p-cgfdcr`,apple 风格官网,四维度全 PASS) - **未参与规则推导校准的证据**: - Hunt 阶段 `sources.json` 记录 Hunt 用了全部 4 份样本做**定性**现状盘点("共同点/未找到的部分"), 但 Digest 阶段的**定量反算**(`industry_avg_score.md` 基线二,用来验证目标线可达性、直接影响 benchmark 判据档位设定)只用了样本2(`rn_84d4651597bc`)和样本4(`rn_9d48ea87f326`)。 - 样本3(`rn_fc9155c598ef`)和样本1(`rn_956c699f1160`)从未被套进 benchmark 逐维度打过分, 是真正意义上"benchmark 判据设计时没看过它的具体分数"的独立样本。 - 本次选样本3而非样本1,原因:样本3含"动画真实性补测"(连续采样 scrollY),内容更丰富,更适合 压力测试 D3(正则解析文本边界裁决)——样本3同时出现了 grep 用于纯结构类检查(CSS 变量计数) 和 grep 用于辅助判定(hash 跳转检查,有 Playwright 动态观测交叉验证),两种用法在同一份样本里 都出现,是检验 D3 裁决表是否够用的好素材。 --- ## 逐维度对照(用 `SKILL.md` Round 1 草稿 + `benchmark_v1.md` 逐条核对) ### D1 自我审查信号词黑名单(权重20) 用黑名单表机械扫描全文(另跑了 `grep -nE "应该|理论上|觉得|看起来|走查|推导后|大概|可能没问题|估计"`, 零命中)。判定文字全部锚定真实命令输出,包括第45行"`.visual` 宽度1280px = `.feature-inner` 容器 宽度1280px 的100%,≥50%门槛达标"这类基于真实测得数值的算术推导——按 `SKILL.md` 动作2 的例外条款 ("规则推导"允许用于真实数值的算术,不是没测就猜),不算违规。 **结论:D1 = 5,规则能诊断(本样本干净,黑名单没有误伤真实数值算术这条边界)。** ### D2 独立重跑硬约束(权重18)—— 发现真实问题,触发 Round 2 修正 样本原文两处声明: - 开头:"以下全部是本次独立跑出的真实命令输出(**未复用** org-coder-impl 自己的 verify.mjs / coder.log **结论**)。" - 结尾:"本次检查**独立于** org-coder-impl 自己的 verify.mjs / coder.log 结论(未直接复用其脚本 或结果),所有命令均在本轮 EXECUTE 阶段实测跑出。" 按 `benchmark_v1.md` D2 五分档原文:"5 = 明确写出**不采信** coder 自我汇报……";"4 = 有等价表述 或有实际独立重跑行为,但**未显式点名'不采信上游自我汇报'这句话**"。 样本3 的措辞是"未复用……结论"/"独立于……结论"——语义上与"不采信"完全等价(都是"不把上游的 判定结论当证据"),但**没有使用"不采信"这个逐字锚点词**。这是 benchmark 判据本身留下的一个真实 歧义:D2 rubric 的分档标准里,"5档"和"4档"的区分点写的是具体措辞而非行为实质,如果 unit-tester 不知道这条隐性的措辞要求,即使做到了行为上的完全独立重跑(本样本确实做到了——每条判定都能看到 独立命令+真实输出),也只能拿 4 档而非 5 档。 **这是 Round 1 草稿 SKILL.md 没有覆盖到的真实缺口**——Round 1 只写了"检查是否有'不采信上游自我 汇报'的等价表述",没有把"benchmark 逐字要求哪个锚点词"讲清楚,导致 unit-tester 即使读了 Round 1 版本的 SKILL.md,也可能凭直觉写出样本3这种语义正确但档位不够的表述。 **修正**:在 PLAN 阶段新增"D2 声明固定模板"(`SKILL.md` 二、动作2),要求"不采信"三个字原样出现, 把隐性措辞要求显式化。 **结论(按 Round 1 草稿评分):D2 = 4**(等价表述、行为独立,但未点名"不采信")。 这不是为了证明规则有用而夸大问题——如实说:样本3 的实际执行质量是过硬的(每条判定都有独立命令支 撑),4 档而非 5 档纯粹是措辞锚点词缺失,Round 2 修正后的 SKILL.md 针对的是"未来怎么写能拿5档", 不改变这份历史样本本身应得的分数。 ### D3 正则解析文本边界裁决(权重15) 逐条核对四个 acceptance 维度里出现的文本类检测手段: - 维度2c "核心配色变量种类数":`grep -n "^\s*--" style.css`——纯粹判断"CSS 里定义了几个自定义 属性",不涉及用户是否看得见,属于**结构性存在类**,按裁决允许直接 grep,不需要补渲染验证。✓ - 维度4 附加检查 `grep -n "location.hash\|location.href\s*=" script.js`——用于确认代码里不存在 hash 跳转逻辑,但**同一维度**同时有 Playwright 真实点击 + URL 比对 + scrollY 连续采样的动态 观测数据交叉验证,grep 只是辅助佐证,不是唯一证据源。这不构成"用 grep 代替真实渲染"的反模式。 - 维度3 content_correctness(标题/描述文字):用 `checks.mjs`(Playwright 真实 DOM 查询)取值, 不是对源码字符串做 grep——比样本4的 `sections_completeness` 只用 grep 更严格,天然规避了 D3 的边界问题。 **结论:D3 = 5,规则能诊断,且给出的裁决表(结构类 vs 可见语义类)在本样本上分类清晰、无歧义案例。** 这也说明"结构类/可见语义类"两分法覆盖了样本3出现的全部文本检测手段,没有出现"分不清该归哪类" 的第三种情况。 ### D4 复用/重跑前核实产物未变化(权重10,vacuous) 全文未出现"复用/延续上次判断"字样,是全新 attempt。**结论:D4 = 5(空真),规则能正确判定这是 vacuous case,不需要额外核实动作。** ### D5 四段式产出物质量+中断后核实(权重10)—— 发现真实局限 子项(a):单看 `test.log` 本身,结构清晰、每条判定有命令+输出+结论,容易看懂"测了什么、结果是 什么"。但 `test.log` 完全没有提及本次是否为中断恢复场景、是否复用了 `_research.md`/`_plan.md` ——**这是因为 unit-tester 提交的产物里目前只找到了 `test.log` 一份文件,没有配套的 `_research.md`/ `_plan.md`**(本仓库真实历史样本的实际交付情况,不是本次训练臆测)。按 `SKILL.md` 的四段式设计, `_research.md`/`_plan.md` 应该单独存在,但从这份历史样本能验证的只有 `test.log` 一层。 子项(b):全文未提中断恢复,按 vacuous 处理该子项。 **结论:D5 = 4**(子项(a)基本满足但不是"几乎无瑕疵"——缺少与 `_research.md`/`_plan.md` 的显式 交叉引用;子项(b) vacuous)。 **如实标注局限**:本次验证只能核对 `test.log` 单份文件,无法确认这份历史样本当时是否真的产出过 `_research.md`/`_plan.md`(未在 run 目录下找到对应文件,可能是当时的四段式产出规范不要求单独文件, 也可能是 timeline 只保留了最终产物)。这条局限不是"规则诊断不出问题",而是"仓库现存历史数据本身 的完整性边界",如实记录,不用臆测的"应该存在"去补分。 ### D6 混合可测/不可测子项降级路径(权重15,vacuous,构造性判据) 四个 acceptance 维度全部有对应工具覆盖,无混合场景。**结论:D6 = 5(空真)**,与 `benchmark_v1.md` "4份真实样本全部落在这一档"的判断一致,本样本延续同一结论,**仍未提供 D6 真实校准证据**(如实 延续 Digest 阶段的诚实标注,不因为本次也命中 vacuous 就误以为规则已被验证过)。 ### D7 blocked vs skip 语义完整性(权重12,vacuous) 全文无工具不可用场景。**结论:D7 = 5(空真)**,同样延续"仍无真实先例"的局限标注。 --- ## 加权和与最终得分(按 Round 1 草稿评分,用于定位缺口) ``` D1 = 5/5×20 = 20.0 D2 = 4/5×18 = 14.4 D3 = 5/5×15 = 15.0 D4 = 5/5×10 = 10.0 D5 = 4/5×10 = 8.0 D6 = 5/5×15 = 15.0 D7 = 5/5×12 = 12.0 ────────────────────── 加权和 = 94.4 封顶检查:D1=5≥4 不封顶;D2=4≥4 不封顶(D2封顶只在≤3档触发) 最终得分 = 94.4 ``` **94.4 分,"优秀"档(≥80)**,与样本2(100分)、样本4(92分)的量级一致,进一步印证 `industry_avg_score.md` 的判断——`unit-tester` 真实执行水平本身不差,本次训练要补的是"把已验证 有效的做法显式写下来"(尤其是 D2 的措辞锚点、D5 的跨文件可复现性),不是覆盖全局的能力缺陷。 --- ## 本次验证的诚实结论 1. **规则确实能诊断出真实问题**:D2 的措辞锚点缺口("未复用结论"≠"不采信"的逐字要求)和 D5(a) 的跨文件可复现性缺口,都是压力测试样本3 时才真正暴露出来的——Round 1 草稿的 D2/D5 操作指导 不够具体,已在 `SKILL.md` Round 2 修正。 2. **规则没有夸大问题诊断能力**:D1/D3/D4/D6/D7 在本样本上全部给出确定、无歧义的档位判断,没有 出现"规则本身说不清该怎么判"的情况——这几维度的操作化程度是够的。 3. **D1/D6/D7 依然缺乏真实负面样本支撑**:本次独立验证样本同样落在"D1 无违规、D6/D7 均 vacuous" 这一类,和 Hunt/Digest 阶段的结论一致,**没有新增任何真实负面证据**,`SKILL.md` 第五节局限标注 如实延续这一点,不因为多测了一个样本就假装证据强度提升了。