---
name: project-benchtop-harness-pause-state-2026-08-13
description: benchtop-harness verification project の 帰宅前 pause 状態 (com0com COM10/COM11 疎通済、 preflight 4 file 完成、 Phase 3 実測前、 4 点照合 plan 明示)
metadata: 
  node_type: memory
  type: project
  originSessionId: d2046dd8-13cc-4245-8188-e60368a9b7f7
  modified: 2026-08-13T02:30:01.554Z
---

# benchtop-harness pause 状態 (2026-08-13、 帰宅前)

benchtop-mcp v0.2.4 を **実 serial 経路経由で** 検証する 独立 project。 藤本さんが 帰宅後に 再開するため、 現状と 次の 一手を 記録。

**Why**: 藤本さん 「続きは 帰宅してから」 と 明言、 半日で preflight が 完成し、 実測直前 (com0com 疎通済 + emitter 起動待ち) の 段階で 一時停止。

**How to apply**: 帰宅後 まず 本 memory を Read して 「次の 一手」 section の コマンドを 実行。 4 点照合 plan は 実測後の checklist.md 記入と セットで 使う。

**Location**: `C:\Users\user\benchtop-harness\` (rei-aios 外の 独立 dir)

## file 構成

| file | 役割 | 状態 |
|---|---|---|
| `README.md` | 原プレディクション + 上部に corrigenda pointer | frozen (歴史記録として 未修正で 保存する discipline) |
| `preflight-findings.md` | 実測 findings (A-1..A-5, B-1..B-2, C-1..C-2, D-2 (D-2-1..D-2-4), E, F) | 最新 |
| `RUNBOOK.md` | Phase 0-5 実行手順 (TX log 捕捉 + COM10/COM11 反映済) | 最新 |
| `checklist.md` | 修正版予想 記入シート (実測記入用 = 正版予想) | 最新 |
| `fake_instrument.py` | emitter (5 異常系 + normal)、 `--start-delay-s` arg 追加済 | 最新 |
| `requirements.txt` | pyserial のみ | 最新 |

## com0com 実測状態

- **CNCA1/CNCB1 pair = COM10 / COM11** が 使用対象 (pyserial 可視)
- CNCA0/CNCB0 (未命名) + CNCA2/CNCB2 (COM4/COM5) は 未使用 pair (掃除任意、 setupc 非昇格 silent fail で 累積)
- ★ Ports クラス問題確認済み: `PortName=COM#` (RealPortName 付き自動採番) で 作らないと pyserial `list_ports()` から 見えない
- 元 README の `install PortName=COM4 PortName=COM5` は 「動くが benchtop から 見えない pair」 を 作る 罠 → corrigenda pointer で 誘導
- **COM11 単独 open 済み (D-2-4)**: emitter 無しで `measure(port="COM11", samples=3)` → `n_rows: 0, skipped: 3, channels: []` = 経路 OS レベル 生存確認

## Phase 3 実測 前の 4 点照合 plan

emitter (Terminal A) + measure (別 Claude session with benchtop MCP) で 6 mode 実行後、 次の 4 点を 見る:

1. **normal-1 vs normal-2 の z ≈ 0.000** (再現性 = harness 健全性 の 一次 check)
2. **normal-1 の TX log `[0] TX` vs CSV 1 行目 一致** (systematic 先頭欠落 の 二次 check、 chat-Claude 指摘で 追加、 self-consistency では 見えない)
3. **bad-bytes の H.n = 23** (silent データ喪失 = v0.2.5 最有力 candidate feature `channel_n_asymmetry_warning` の 根拠)
4. **line-cut の CSV `t` 列 ~2s ジャンプ 5 箇所** (preflight A-2 で 追加された 検出チャネル)

## 藤本さん 帰宅後の 次の 一手

```powershell
# 1. pyserial 未 install なら
& "C:\Users\user\AppData\Local\Programs\Python\Python313\python.exe" -m pip install pyserial

# 2. Terminal A で emitter 起動 (疎通確認用 60 count)
cd C:\Users\user\benchtop-harness
& "C:\Users\user\AppData\Local\Programs\Python\Python313\python.exe" fake_instrument.py --port COM10 --mode normal --count 60
```

3. `[open] COM10 @ 9600 bps, ...` と `[0] TX 'T=...'` が 流れ始めるのを 確認
4. benchtop MCP 接続済み session に 通知 → `measure(port="COM11", samples=5)` で 疎通確認
5. 疎通 OK なら RUNBOOK Phase 3 の 6 mode を 順に 実行 (normal-1 → crlf → cut → silent → bad → digit → normal-2)
6. 実行完了後 checklist.md を 埋めて 4 点照合

## 補足

- fake_instrument.py の `--start-delay-s` arg は emitter が 読み手 unopen 前に com0com buffer に 書き溜めるのを 防ぐ preemptive fix (B-1 対策、 別 Claude session 追加)
- 「1 session = 1 emitter プロセス」 運用 discipline (RUNBOOK Phase 3 共通ルール 2、 line-cut/silent の 未送信 iter が 次 session を 汚染するのを 防ぐ)
- 送信全行が `_log()` で stderr → `2> logs\<mode>.log` で ground truth 保存 (RUNBOOK Phase 3 共通ルール 5)
- benchtop-mcp v0.2.4 (`C:\Users\user\benchtop-mcp\`) は frozen、 harness からは 一切 触らない

## 関連

- [[project-benchtop-mcp-v022-review-2-pack-2026-08-13]] — 元 benchtop-mcp v0.2.4 の 5 段 pack (frozen 対象、 harness の 検証対象)
- [[feedback-mcp-server-verify-3layer-diagnosis-2026-08-13]] — 「self-review 対 external-verify gap」 の 別 domain 発火の 原型
- [[feedback-external-verify-beats-internal-review-4patterns-2026-08-13]] — 本 project preflight で 4 発発火した pattern 集約
