# STEP 2132 — Phase 1 設計メモ addendum (STEP 2126 事例 記録、 実装しない)

**Timestamp**: 2026-09-19T09:09 (JST)
**Tab worktree**: `main` (rei-aios-bd tab)
**Commit**: `<pending>` — filled at push
**Addendum of**: `docs/notepad/2026-09-19T00-40_STEP-2119_phase-1-design-memo-tab-side-route-label.md`
**Directive origin**: chat-Claude → 藤本さん relay (未 review) → rei-aios-bd tab、 explicit go 2026-09-19: 「Phase 0.5 accept、 Phase 1 保留継続 (CI unblock 先)、 設計メモへの追記」
**Implementation status**: **NOT IMPLEMENTED** — 記録のみ (chat-Claude directive「設計・実装はしない、 未解決課題として記録」)

## 一行 summary

STEP 2126 (rei-aios-18) で「印が付いたまま届いたのに、 読み手側で 出所が畳み込まれた」 事例 発生 = 549 misattribution (人の転記段階で label 消滅) と 発生箇所 が違う「読み手側 出所畳み込み」 pattern。 Phase 1 (転記段階の 構造削除) は この pattern を 防げない → honest scope 追記 + 「引用時 marker orig 欄 機械的引継 仕組み」 が別途必要かを 未解決課題として 記録 (実装しない)。

## STEP 2126 事例 の 位置づけ

**事案**: rei-aios-18 tab で、 `[via 藤本さん / orig: chat-Claude]` marker が **付いたまま** 届いた chat-Claude の 文章 (RT-0 v1 doc 由来) を、 受け手 tab (rei-aios-18) が 「藤本さん 自認 verbatim」 として 引用・記録した。 実際は chat-Claude が 書いた 文章。

**参照** (私 rei-aios-bd tab は 直接目撃していない、 記録経由の 認識):
- commit `359cc930e`: STEP 2126 (rei-aios-18 tab、 2026-09-19): STEP 2125 corrigendum (見出し-事例 因果 一致) + CLAUDE.md § 対話 discipline 2 行 embed
- commit `0b15ccde4`: STEP 2131 (rei-aios-18 tab、 2026-09-19): STEP 2126 出所訂正 (chat-Claude 発言 を 藤本さん 発言 に 畳み込み emerge) + relay 増幅 pattern feedback memory 成文化

## 2 pattern の 対比

| pattern | 発生 stage | root cause | Phase 1 で 防げるか |
|---|---|---|---|
| **549 misattribution** (2026-05 頃 emerge、 chat → tab 経路 元祖) | **転記段階** (藤本さん が 手動 copy-paste する 時点) | 人が 手で 書き写す 段階で marker が 消滅、 出所ラベル が tab に届かない | ✅ **防げる** (Phase 1 の 主目的、 tab-side route label で 転記段階 消滅、 marker 消滅の 発生箇所 が 消える) |
| **STEP 2126 事例** (2026-09-19 emerge、 読み手側 畳み込み) | **読み手 tab 側 の 引用段階** (marker 付き で 届いた 内容を 受け手が 引用する時) | marker は 到達している (完全 preserve)、 引用側 が semantic 認知で 「藤本さん が言った」 と 誤解 = 出所欄 の information を 認知 layer で 落とす | ❌ **防げない** (Phase 1 は 到達側 に label を付けるだけ、 引用側 の 認知 誤り は 別 layer、 tab-side auto-label が 完璧に動作していても pattern 発生可能) |

**Key difference**: 549 は information loss (label が 消える)、 2126 は information preservation with cognitive collapse (label は 残るが 引用側 が 認知 layer で 「陳述の 主体」 を 別 identity に mapping)。 Phase 1 の 「機械的 label 付与 + 読み込み時 記録」 は 「label 到達を 保証」 する only、 「引用時 に label 意味を 反映」 は 別 mechanism。

## Phase 1 設計メモ (STEP 2119) の honest scope 追記

**旧 honest scope** (2026-09-19T00-40 memo、 該当 section 抜粋):
> - 出所の 認証 では ない。 label semantics = 「中継経路 (指定 Docs ID) を通過した」 のみ、 「chat-Claude が書いた」 は 保証しない
> - 転記段階 の 除去のみ。 549 misattribution 根本原因 (手で貼り写す 段階で 出所ラベルが 消える) を、 「機械的 read + sha256 記録」 に 置換することで 「人が手で写す step」 を 消す
> - chat 側 の marker 記載 は behavioral。 chat-Claude が 「[orig: chat-Claude]」 と 書くのは 指示遵守 の 振る舞い、 コネクタ layer の 機械保証は 無い

**追記 (本 STEP 2132)**:
- **読み手側 出所畳み込み pattern (STEP 2126) は 防げない**。 Phase 1 は 到達時 の label 付与を機械化するだけで、 引用時 に 引用側 tab が 「陳述の 主体」 を 認知 layer で 別 identity に mapping する pattern には 一切 効果なし。 marker が 完全 preserve されていても、 引用側 が 「藤本さん 発言 verbatim」 として 引用してしまうケースが 実測 (STEP 2126) で 発生済。
- 「機械的 label 到達」 と 「引用時 の label 意味遵守」 は 別 layer。 Phase 1 は 前者のみ addresses、 後者 は Phase 1 の 対象外。

## 未解決課題 の 記録 (実装しない)

**問い**: 「引用時 に marker の orig 欄を 機械的に 引き継ぐ 仕組み」 が 別途必要か?

**素朴な candidate design** (実装しない、 検討のみ):

- **(i) 引用 template 強制**: tab が chat-relay-inbox から 内容を 引用する時 の template を 「> [orig: <route_label>, doc_id: <id>, sha256: <hash>]\n> <引用本文>」 と 規約化、 tab は naked 引用 (marker なし) を 禁止
  - 実装 layer: tab 側 の 引用 生成 hook (Claude 応答 生成時 に 引用 と 認識される block に auto-prefix)
  - 難点: 「引用」 の 認識自体 が 意味理解 = 機械化困難 (「chat-Claude が こう言った」 と 平文で 書く場合も 引用扱い か? paraphrase は 引用か?)
  - 難点2: 「藤本さん 発言」 と 「chat-Claude 発言」 を 混ぜて 論述する 時、 各 sentence の 出所 marker を どこまで細かく 付けるか の 判断 が semantic

- **(ii) 引用 auditor 別 tool**: 別 tab (or 別 process) が Claude session の 出力を parse、 「藤本さん 自認」 「原文 verbatim」 等の marker と、 chat-relay-inbox の hash を 突合、 不整合を 検知 → warn
  - 実装 layer: 別 process、 post-hoc audit
  - 難点: 「藤本さん 自認」 判定 は semantic (Claude 出力の 「藤本さん が こう言われました」 が 自認 verbatim か 要約 か 判別困難)
  - 難点2: real-time 予防 ではなく post-hoc 検知、 誤 relay が 一時的に landing してから detect

- **(iii) tab-side 引用 discipline 明文化 (人間側 学習)**: mechanization ではなく、 CLAUDE.md や feedback memory に 「読み手側 出所畳み込み pattern」 と 予防 discipline を embed、 未来 Claude session が 引用時に 「これは 誰の発言?」 を 意識するよう 教える
  - 実装 layer: 学習 material 更新 のみ、 mechanization なし
  - 難点: behavioral discipline のみ = 忘却 risk、 STEP 1974 の 「NECESSARY but NOT SUFFICIENT」 原則で 「mechanized gate」 が欲しくなる場合 emerge
  - 利点: over-engineering 回避、 (i)(ii) の semantic 困難を 全 skip

**判断**: 本 addendum は **判断せず 記録のみ** (chat-Claude directive「設計・実装はしない」)。 (i)(ii)(iii) の どれを 選ぶ or 別 design を 探るか は、 藤本さん explicit 検討 判断 (Phase 1 実装 go の 前 or 後 or 別 STEP arc) を 待つ。

## Cross-pattern audit — 他に 同型 pattern が emerge していないか

**本 addendum 時点の 認識**:
- **549 misattribution**: 転記段階 label 消滅 (Phase 1 で addressed)
- **STEP 2126**: 読み手側 出所畳み込み (本 addendum で 記録)
- **Historical hooks の behavioral vs mechanical**: chat-Claude marker 記載 が behavioral (Phase 0.5 corrigendum で addressed、 tab-side mechanization に pivot)

**未 audit の候補** (未来 emerge 予想、 実測 なし):
- **書き手側 marker 漏れ**: chat-Claude が 忘れて marker を 付けずに 書き、 tab-side auto-label が 「無 marker の 内容」 として そのまま record → 「藤本さん UI 由来」 と 誤 assumed される risk (allow-list 内 の doc なら route_label は 付くが、 chat-Claude/藤本さん UI の 区別 は 依然 不能 per Phase 0.5)
- **時系列 skip**: chat が 過去 の 会話を 引用する 時、 「その時点の chat-Claude」 と 「現在の chat-Claude」 が 区別なく doc に mixed で 書かれる → 引用時 の 「時点」 情報 loss

**判断**: 本 addendum は 「STEP 2126 事例 の 記録」 + 「Phase 1 で 防げない honest scope 追記」 + 「未解決課題 (i)(ii)(iii) の 記録」 に留める。 未 audit 候補 の verification は 別 STEP (or 藤本さん directive 待ち)。

## Honest scope (本 addendum 自身)

- **判断せず 記録のみ**。 (i)(ii)(iii) の どれが better か、 別 design が良いか、 何もしないのが良いか、 全て 藤本さん judgment 待ち。 本 addendum は options の 列挙 + 事例の 記録のみ。
- **未 audit pattern の 網羅性 保証なし**。 「書き手側 marker 漏れ」 「時系列 skip」 等 は 私 の 推測、 実測 evidence なし。 未来 emerge した pattern は 本 addendum の 別 corrigendum entry で 追記する。
- **STEP 2126 直接目撃 なし**。 私 (rei-aios-bd) は 該当事例 が emerge した rei-aios-18 tab の 対話を 直接見ていない、 記録経由 (commit 359cc930e + 0b15ccde4) の 認識のみ。 事例の 詳細 semantic (「どう畳み込まれたか」 の 実 例文) は commit + memory hook を 別途 read が必要。
- **Phase 1 実装 未 go**。 本 addendum は 「Phase 1 の scope を 明確化」 する だけ、 「Phase 1 を build する べき」 とも 「build しない べき」 とも 主張しない。 藤本さん judgment 待ち (CI unblock は 別 arc で 解決済、 但し Phase 1 go は 別 gate)。

## Failure mode (機械学習用 dataset)

- **What could go wrong (mechanization over-reach)**: 「防げない pattern」 発見 に 直面して 「mechanization を どんどん 追加する」 pattern に 陥る (Phase 1 = 転記段階 mechanize、 Phase 2 = 引用段階 mechanize、 Phase 3 = paraphrase 段階 mechanize、 ...)、 semantic 判断が 必要な layer に mechanization を 強引に 適用して 誤検出/誤警告 の noise が 増える
- **Prevention**: 「Phase N が防げる pattern」 と 「Phase N が防げない pattern」 を 常に 対比表で 明示、 mechanize 判断は 「pattern の root cause が mechanization で addressable か」 を 事前 verify (STEP 1974 NECESSARY but NOT SUFFICIENT 原則 適用)
- **Recovery**: mechanization が 過剰と判明した時、 該当 mechanization は revert、 behavioral discipline (iii の form) に fall back

- **What could go wrong (STEP 2126 事例を 単発扱い)**: STEP 2126 を 「たまたま 起きた誤り」 として 扱い、 pattern 化せず、 別の 読み手 tab で 同型 事例が 再発した 時に また 「たまたま」 と 扱う (accumulating 誤解)
- **Prevention**: 本 addendum で pattern を 「読み手側 出所畳み込み」 と 命名 + 分類、 未来 emerge した 時に 「あの pattern」 として 認識可能に する
- **Recovery**: pattern 再発 検出時、 本 addendum の cross-reference に 追加、 accumulate evidence が (i)(ii)(iii) 判断の 材料 になる

## 詳細参照

- Phase 1 設計メモ (本 addendum の 参照元): `docs/notepad/2026-09-19T00-40_STEP-2119_phase-1-design-memo-tab-side-route-label.md`
- STEP 2126 事例 landing commit: `359cc930e` (rei-aios-18) + `0b15ccde4` (rei-aios-18、 出所訂正)
- STEP 2119 arc chain: Phase 0 (`2026-09-19T00-02`) → Phase 0.5 (`2026-09-19T00-20`) → Phase 1 design memo (`2026-09-19T00-40`) → Phase 1 addendum (本 file、 `2026-09-19T09-09` STEP 2132)
- Directive 出所: chat-Claude → 藤本さん relay (未 review) → rei-aios-bd tab、 addendum explicit go 2026-09-19

## Cross-reference

- `[[step-2132-phase-1-memo-addendum-2126-case]]` (this)
- `[[step-2119-phase-1-design-memo-tab-side-route-label]]` (追記対象)
- `[[step-2126-rei-aios-18-orig-collapse-emerge]]` (事例元 STEP)
- `[[step-2131-rei-aios-18-orig-correction-and-relay-amplification-pattern]]` (STEP 2126 の 対応 STEP)
- `[[feedback-549-misattribution-root-cause]]` (対比 pattern 1)
- `[[chat-claude-behavioral-vs-mechanical-guarantee]]` (対比 pattern 2、 Phase 0.5 corrigendum 起源)
- `[[reader-side-origin-collapse-pattern]]` (本 addendum で 命名 pattern、 未来 STEP で 一般化 candidate)
