---
name: feedback-external-verify-beats-internal-review-4patterns-2026-08-13
description: benchtop-harness preflight 半日で 1 arc 4 発 発火 + 同日 Phase 3 trial で 5 発目追加 (TX log 照合が normal-2 [0] 欠落を z 検定 blindness を補って detect)。「external verify > internal review」 pattern 5 発集約 (systematic head miss / bit-identical reversal / setupc silent fail / duration_s semantic mismatch / TX log data-loss detection)
metadata: 
  node_type: memory
  type: feedback
  originSessionId: d2046dd8-13cc-4245-8188-e60368a9b7f7
  modified: 2026-08-13T13:29:24.454Z
---

# external verify > internal review 4 発 pattern (2026-08-13)

benchtop-harness preflight の 半日 arc で、 「self-consistency では 見えないが、 external oracle で 一撃で 立つ」 pattern が 4 回 連続で 発火。 昨日の [[feedback-mcp-server-verify-3layer-diagnosis-2026-08-13]] 7th 原則 「self-review 対 external-verify gap 傾向 audit」 が **domain を 変えても 同じ形で 再発火する** ことを 4 例で 実証。

**Why**: 型 (source read + type annotation) は 意味を 保証しない。 「値が 返ってくる」 と 「その値が 自分の 思っている量である」 は 別。 一度 external oracle と 突き合わせるまで、 内部整合性は systematic bias を 見逃す。 4 例 全て 別々の 抽象層 で 発火した 半日 = pattern の 一般性 の 実測 evidence。 藤本さん総括 「1 番の 収穫 = 実 verify 1 回 > 4 波レビュー」 の 一般化系。

**How to apply**:

- 「session 同士で 比較して 差が 無かった」 は **再現性の 証明 のみ**、 取りこぼしの 不在 ではない → ground truth 側 (log / spec / list コマンド / 極端 case) の 独立 source を 用意する
- source read で type を 確認しても、 その値が 何の量か は 別 verify → **extreme case を 1 本 作る** (「n=0 の session を 1 本」 が 一撃で 判明する 型)
- external verify を **1 回 やる** コストは、 内部 review を **4 波 回す** コストより 概ね 低い
- 対象は 「自分が 一番 自信のある 主張」 に 向ける (自信の 高さ = internal review 到達点 = external verify で 崩れる 幅の 最大値)
- field 名 が 誤解を 誘発する 側にも 効く (`duration_s` vs `last_row_t_s`) → 命名で 意味を 縛る 設計は internal review discipline に 効く

## 4 発の 内訳

| # | 対象 | self-consistency (見えなかった) | external verify (立った) |
|---|---|---|---|
| 1 | harness 健全性 | normal-1 vs normal-2 z≈0 = 再現性 only | TX log `[0] TX` vs CSV 1 行目 一致 = 先頭欠落 検出 |
| 2 | fake_instrument 予想 | 「乱数 seed 別なので 値は 一致しない」 の source read 推測 | mock 上 sandbox で bit-identical 検算 = A-3 予想 reversal (完全一致するはず) |
| 3 | com0com pair 作成 | `install` 完了 = exit code 0 の 自己完結 | `list` で pair 実在確認 = setupc 非昇格 silent fail 発覚 (未使用 pair 3 組 累積) |
| 4 | `duration_s` field 意味 | source line 418 の type annotation 「float 秒」 の 推測 | n_rows=0 session を 1 本 作成 → `duration_s: 0` = wall time でなく 「first row t → last row t の 幅」 判明 |
| **5** | **normal-2 の 完全性** (Phase 3 trial 発火) | **`compare_sessions(normal-2, normal-1)` z ≈ 0 = 全 chan 「差なし」** | **TX log `[0] TX 'T=24.957'` vs CSV 1 行目 `T=25.211` = 先頭 1 行欠落 detect** |

## 質の 微差 (前 3 発 と 4 発目 と 5 発目)

- 前 3 発 (1-3) = 「self × self ✗ / self × oracle ✓」 の 形 (再現性 vs ground truth)
- 4 発目 (4) は もう 一段 深く 「**値が 返る ✓ / 意味が 一致 ✗**」 = **型は 意味を 保証しない** の 具体化。 return が 成功しても field 名の 意味が 想定と 違えば 静かに 誤解 が 通る。
- **5 発目 (5)** は 4 発目とも異なる form: **統計的等価 ✓ / 系列先頭一致 ✗** = **異なる null hypothesis を検定している** ことの operational 証拠。z 検定は「data 分布は同じか」を検定し、TX log 照合は「先頭が一致するか」を検定する。前者は 1 行欠落を absorb する robustness (良い性質) が 逆に blindness (悪い性質) にも なる = **同じ input から 異なる output を出す 2 手法の相補性**。z 検定を強化するのではなく **異なる layer を見張る補助 tool として TX log が必要** と定式化される。

## chat-Claude の 一撃 表現

> **値が 返ってくる ことと、 その値が 自分の 思っている量である ことは 別**

この 一文で 4 発目の 質が 前 3 発と 違うことが 明示化された (前 3 発は 「返るか どうか」、 4 発目は 「返ったものが 何か」)。 semantic verification と structural verification の 分離。

## 5 発目の 出現 timeline

- preflight 段階 (2026-08-13 昼): 「z ≈ 0 では取りこぼしが見えない」 と **理屈で** 予測して checklist に TX log 照合 1 行追加 (前 4 発と同 arc の派生 discipline)
- Phase 3 trial (2026-08-13 夜、帰宅後): 6 session 目 (normal-2) で **実際に fire**、5 発目 confirm
- 6 session 中 1 本のみで発火 = **理屈が現実に当たる瞬間**、藤本さん総括「一番効いた 1 行」

**preflight での理屈上の追加が、trial で実 defect (data loss) を捕獲した** = execution だけが空白部分を埋める、と review が execution を予測する、の両方が同 arc で並列成立。preflight discipline の operational return-on-investment 実例。

## 関連

- [[feedback-mcp-server-verify-3layer-diagnosis-2026-08-13]] — 原型 (7th 原則 「self-review 対 external-verify gap」)、 benchtop-mcp v0.2.4 selftest 15 phase の 藤本さん実 verify で 発火した 別 domain 事例
- [[project-benchtop-harness-pause-state-2026-08-13]] — 前 4 発が 発火した 現場 (preflight-findings.md A-1..A-5, D-2)
- [[project-benchtop-harness-phase3-full-arc-2026-08-13]] — 5 発目が発火した現場 (Phase 3 実 trial、observations.md の #2 検証項目)
- [[feedback-defect-class-input-vs-lifecycle-2026-08-13]] — 本 5 発の class-level 一般化 (input-deterministic vs lifecycle-emergent の直交軸)
- [[feedback-one-reproduction-over-ten-unverified]] — 「十本の 未検証より 一本の 再現」 と 同じ 精神系
- [[feedback-projection-self-audit-pattern]] — SAC-4 (発話前 事実固定) との 隣接 (前 3 発は 発話後 external verify で 訂正)
- [[feedback-critique-response-pattern]] — 4 発とも 別 Claude session が 発見、 100% 認諾で inline 訂正した 実例 (5 発目も同 pattern、本 session でも私が 2 turn 連続 preflight 誤読を SAC-4 で認諾)
