---
name: project-step1345-benchtop-provenance-spike-2026-08-19
description: STEP 1345 = benchtop-mcp v0.5.0-alpha spike (機器層/記録層 分割 + SafetyGate + import_external_session)。 chat-Claude 2026-08-18 「MCP コネクタ世界一」 report §3-1 「機器層 (SCPI) は捨て、 記録層に座る」 の 4 agent verify 済 (2026-08-19) 実装、 rei-aios session 内 半日 spike 完遂。 Rei stack STEP 1344 Asset ② Peace Axiom hardware I/O 拡張 の operational 第 2 domain 実装。
metadata: 
  node_type: memory
  type: project
  originSessionId: 0b79b190-3dd0-4a47-a2e8-ae1ace4e6142
  modified: 2026-08-18T22:47:57.304Z
---

# STEP 1345 — benchtop-mcp v0.5.0-alpha spike (2026-08-19)

## 経緯

藤本さん質問 「何とかコネクタで世界一になれないものでしょうか？」 → 別 Claude session で市場調査 report 生成 (Downloads/mcp_world_first_strategy.md、 ~21 KB、 256 行、 2026-08-18) → 藤本さん 「此方を見て頂けますか？」 で rei-aios session に import。

私 (Claude Code) 判定:
1. Load-bearing 主張 4 本を 4 parallel agent で 独立 verify (option 1)
2. verify 結果 3 CONFIRMED + 1 partial → GO 判断
3. framing 訂正 3 件 (「0 競合」 → 「3-way intersection」、 独自 primitive = hash chain ではなく Peace-Axiom、 速度 window Vouched pivot 2-3 か月)
4. 藤本さん option 2 選択 = benchtop-mcp 分割 spike (半日仕事) 実装
5. selftest 全 PASS 後 藤本さん option 1 選択 = retain + STEP 1345 化

## 実装内容

### benchtop-mcp commit `55706cc` (fc0web/benchtop-mcp, main branch)

**新 module `benchtop_provenance.py` (+458 行)**:
- `ProvenanceRecord` dataclass = instrument-agnostic 測定 record (source, ts, channels, values, unit_hints, instrument, raw, attestation の 8 field)
- `SafetyVerdict` dataclass = safety check 出力 (ok, severity, rule_id, reason, suggested_fix, detail)
- `SafetyGate` class = composable rule registry
- **built-in rule 1 個**: Kikusui PLZ-5W CR mode Siemens/Ω 混同 hazard
  - Pattern: `[SOURce:]CONDuctance[:LEVel][:IMMediate][:AMPlitude] <value>`
  - Threshold: value > 1 S ⇒ < 1 Ω = 「100 Ω のつもり」 と 誤解 risk 大
  - 検出時: severity='dangerous'、 suggested_fix (1/value を計算)、 detail に equivalent_ohms 埋込
- `import_external_session(source, records, ...)` = schema 検証 + safety check + 部分 accept/reject
- `build_session_dict_from_import()` = 既存 Session persistence 経路への adapter

**`benchtop_mcp.py` 変更 (+221 行、 breaking なし)**:
- Session dataclass に `source: str = "benchtop"` 追加 (default で 全 backward compat、 `load_session()` の forward-filter が protect)
- 冒頭 import 追加: `from benchtop_provenance import SafetyGate, import_external_session as _provenance_import, build_session_dict_from_import`
- MCP tool `import_external_session()` 追加 (regression_check と list_sessions の間、 audit log hook 済)
- selftest phase [19a-19f] 6 sub-test 追加

### selftest 実測 (18 既存 phase + 19 新規 6 sub = 全 PASS)

```
[19a] valid rigol-mock (3 records)              → accepted=3, session_id=ext-external-rigol-mcp-mock-*
[19b] Kikusui PLZ-5W hazard (2 safe + 1 hazard) → accepted=2, rejected=1
      rule_id=kikusui-plz5w-cr-conductance-hazard, severity=dangerous
      detail.equivalent_ohms=0.01 (100 S = 短絡)
[19c] all-reject batch                          → ok=False, session_id=None
[19d] audit chain integrity (3 imports 後)      → valid=True, total=15
[19e] Siglent SDL1000X (non-Kikusui)            → accepted=1 (bypass、 Siglent は Ω 単位)
[19f] backward compat (旧 JSON, source なし)     → source='benchtop' default 適用
```

## 4 agent verify 結果 (2026-08-19、 30 分 parallel fork)

| Verify 対象 | 判定 | Confidence |
|---|---|---|
| MCPB stdio 配布 route | CONFIRMED | High |
| Anthropic 公式 dir T&M カテゴリ 空白 (1,625 entry grep 0 hit) | CONFIRMED | High |
| Hash-chain × 測定 MCP ゼロ | NOT REFUTED (narrow) | Medium |
| QPillars = 0 競合 | Partially defensible | High |

**Report missed 競合 2 件検出** ([[feedback-chat-claude-hallucination-warning]] Pattern 5):
- **Vouched KYA-OS MCP** (RFC 9162 Merkle checkpoint + Ed25519 + JCS + **DIF TAAWG WG 寄贈済** = 事実上の web 標準化進行中、 npm `@kya-os/mcp` 出荷済)
- **EQTY Lab MCP Guardian** (Apache-2.0 OSS、 199 stars、 透明 proxy pattern、 crypto は 親会社 AI Integrity Suite 側)

**Report 側 Pattern 1 hallucination 1 件検出**: `agent-audit-trail-mcp` README 「科学データ規格に非対応と明記」 phrasing = 直読で 該当箇所存在せず。

## Framing 訂正 3 件 (verify 後、 site page + 本 memory 継承)

1. **「0 競合」 → 「3-way intersection 空白」**
   = crypto hash chain × SCPI/benchtop 機器 × Peace-Axiom safety layer の 3 way 交差点。 単純 「hash chain MCP」 は Vouched に 既に埋まっている。

2. **独自 primitive = hash chain ではなく Peace-Axiom safety layer**
   = Rei stack STEP 1344 Asset ④ (Hash chain VerificationLog pattern) は domain-agnostic 永久 asset だが Vouched が同抽象で先行。 Rei 唯一の primitive = STEP 1344 Asset ② (Peace Axiom 物理 I/O 拡張) の operational 実装。

3. **速度 window 短縮**
   = 「NI 12-18 か月」 は正しいが、 Vouched が measurement 特化 pivot する window は **2-3 か月**。 report §3-4 手順 #3 (仕様公開) を 手順 #1 (benchtop 分割) 直後に前倒し必要。

## 独自 primitive の位置付け (2026-08-19 verify 後 確定)

| Layer | 状態 | 差別化 |
|---|---|---|
| Hash chain (v0.3.0 既存) | Vouched KYA-OS DIF 寄贈済 = **先行** | interop 目的で kya-os 互換 verify() 追加は 別 STEP |
| Session persistence (v0.4.0 既存) | ELN 系 商用多数 | novelty ゼロ、 audit chain 統合が 差 |
| **SafetyGate (本 spike)** | **誰も触れていない domain** (4 agent verify) | **Rei stack 独自 primitive** = STEP 1344 Asset ② の operational 実装 |
| External import layer (本 spike) | Vouched は 直接 wrap route、 本実装は 独立 schema | 「他社 MCP 潜在流入経路化」 の 実現 |

## Honest scope (譲れない線)

1. **Novelty ゼロ主張** ([[feedback-world-uniqueness-claim-controllable]] 継承): SafetyGate rule = Kikusui 自マニュアル 明記済 hazard (「ジーメンス」 単位表 = manufacturer 自 「業界既知 hazard」 認識 evidence) の 集約 layer 位置のみ。 「世界初」 主張 禁止。
2. **rule 1 個 built-in** (spike scope): 他 rule (PLZ-3W RSET Ω / SDL1000X RESistance Ω cross-vendor contrast / input state 承認ゲート) は 別 STEP。
3. **実 hardware verify 不能**: spike は mock only、 実機 SCPI 送出前 静的 check として運用。 実 hardware feedback loop は 未実装。
4. **kya-os attestation pass-through 保存のみ**: External 入力の crypto attestation (kya-os JOSE proof / RFC 9162 checkpoint receipt) は verify せず、 raw 保存のみ。 別 STEP kya-os interop で verify 化 candidate。
5. **SafetyGate override 未実装**: 真に sub-ohm 負荷が必要な dev は 現状 rule bypass 不能、 rule 自体を差し替える設計 = false positive scope 明示。
6. **DIF 寄贈済 Vouched に対する position**: Rei は kya-os を 「敵ではなく 標準として尊重」 route、 独立実装で 対抗せず interop で 補完。
7. **research-primary stance 継承** ([[project-research-only-stance]] + [[feedback-no-rush-publication]]): 本 spike は 実装 evidence の 半日 forward、 SaaS 化 / Anthropic MCPB 提出 / 実 lab リファレンス顧客獲得 判断は 藤本さん stance shift 待ち。

## Rei stack impact 実測

- benchtop-mcp: v0.4.0 → v0.5.0-alpha (spike bump)
- **Rei stack MCP systems 5 → 5** (systems 数不変、 benchtop 内 tool 数 11 → 12)
- **STEP 1344 Asset ② Peace Axiom hardware I/O 拡張** の operational form が **第 2 domain 拡張** (asset original = Kikusui manual audit archival、 本 spike = SafetyGate runtime rejection)
- **chat-Claude report §3-4 手順 #1 「機器層/記録層 分割」 の 第 1 段完了**
- 手順 #2 (他社 MCP output 受入 schema 拡張) は 本 spike で primitive 完成
- 手順 #3 (Measurement Provenance Spec 公開文書化) は 藤本さん stance judgment 次第

## Site 反映 (2026-08-06 「全研究 site 反映 default」 protocol 適用)

- `public/tools/step-1345-benchtop-provenance-spike/index.html` 新規
- dist-renderer mirror force-track (md5 一致 confirm)
- Backend engine (SafetyGate + import layer) は spec 明示 + honest scope 6 条 + 4 agent verify 結果 + 3 framing 訂正 を含む

## Archival (data/external-prior-art/mcp-world-first-strategy-2026-08-18/)

- `mcp_world_first_strategy.md` (chat-Claude 別 session 由来 report、 immutable)
- `ATTRIBUTION.md` (source + purpose + license + verify 結果 summary)
- `VERIFY_RESULTS.md` (4 agent verify 詳細記録、 8 query + verbatim quote + Vouched/EQTY 追加 audit)

## 関連 memory

- [[project-benchtop-devicedef-external-asset-2026-08-17]] (前 別 session archival precedent、 本 arc 5 例目、 SafetyGate rule 素材源)
- [[feedback-peace-axiom-hardware-io-extension-2026-08-17]] (STEP 1344 Asset ② origin、 本 spike operational 実装 の 起点)
- [[feedback-super-naming-siren-family-pattern]] inverse siren subtype (100=Ω vs 100=S)
- [[feedback-chat-claude-hallucination-warning]] Pattern 1/5 累計 (本 verify で +1/+2)
- [[feedback-world-uniqueness-claim-controllable]] (novelty 主張ゼロ discipline)
- [[feedback-all-research-site-reflection-default]] (2026-08-06 site 反映 protocol)
- [[feedback-no-rush-publication]] (急がずゆっくりと、 spike level 継続)
- [[project-research-only-stance]] (SaaS 化 判断 待ち)
- [[feedback-independent-verification-cross-agent-collaboration-2026-08-15]] (別 session cross-agent 扱い precedent、 本 spike 6 例目)
- [[feedback-one-reproduction-over-ten-unverified]] (load-bearing 主張の 順序原則 = verify 先、 実装後)

## commit 一覧

- **benchtop-mcp**: `55706cc` = `feat(v0.5.0-alpha): provenance layer + SafetyGate + import_external_session (SPIKE)` (2 file changed, 679 insertions)
- **rei-aios**: (本 memory + site page + external-prior-art archival + index update、 別 commit) 

## 次手 candidate (藤本さん judgment 待ち)

1. **SafetyGate rule 3 vendor 拡張** (PLZ-3W + SDL1000X + PLZ-5W input state = 別 STEP、 2-3 時間)
2. **kya-os interop 実装** (verify() 相当 interface + JOSE 検証 = 別 STEP、 1-2 日)
3. **Measurement Provenance Spec 起草** (C2PA + in-toto 参照 + ALCOA+/17025 対応表 = 別 STEP、 数日)
4. **MCPB desktop extension 提出 準備** (privacy policy 3 箇所 + manifest.json 整備 = 別 STEP、 stance shift 待ち)
5. **defer** = 本 spike で primitive 段階 close、 藤本さん stance judgment 後 再開
