---
name: feedback-paper-publish-verification-discipline
description: "paper publish 実行前の必須 verify discipline — publish-log-paper{N}.json (suffix なし) を最初に read する。 2026-06-18 Paper 164 重複 Zenodo deposit incident から抽出した 9 軸目永続原則"
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 5d28ae7c-687d-4389-8e5e-c7bd64100573
---

# Paper publish verification discipline (永続原則 9 軸目)

## Rule (1 文)

★ **paper publish 実行 (Zenodo deposit / Harvard upload / SNS broadcast 等 irreversible action) 前に、 `data/publications/publish-log-paper{N}.json` (suffix なし) を必ず最初に read して既 publish 履歴を verify する**。

**Why**: 2026-06-18 Paper 164 重複 publish incident で、 私 (Claude) は paper file header の 「Status: DRAFT」 と git log grep regex `publish.*paper-164` (hit 0) のみで 「未投稿」 と判断し、 既 publish 済 (2026-06-09 commit `e2f85edd`) の paper に対して **Zenodo orphan DOI 20738998 + IA 重複 identifier + Harvard dataset 重複 file** を作成してしまった。 paper file header は drift 可能、 git log grep は regex 設計次第で漏れる、 **publish-log-paper{N}.json (suffix なし) の存在 + 内容こそが真の publish event の永続記録**。

**How to apply**:

### Verify protocol (publish 指示受領時):

```
□ STEP 1: data/publications/publish-log-paper{N}.json (suffix なし) 存在 check
  □ EXISTS → 内容 read で既 publish status 確認
    □ "zenodo_doi" field 存在 → 既 Zenodo publish 済 (重複 deposit 警戒)
    □ "results" field 内容 read で 11 platform status 把握
  □ NOT EXISTS → 未 publish 高い確度 (★ 但し以下 verify 併用)

□ STEP 2: paper file header の Status / DOI / Version field check
  □ "Status: DRAFT" → drift 可能性 (信頼しすぎない)
  □ "DOI: TBD" → 同じく drift 可能性
  □ "PUBLISHED" / 具体 DOI 含む → ほぼ確実に既 publish

□ STEP 3: git log で commit 履歴 verify
  □ `git log --all -- papers/paper-{N}-*.md` で paper file の commit history
  □ `git log --all -- data/publications/publish-log-paper{N}*.json` で publish log file の commit history
  □ commit message search: 「paper-{N}」 と 「publish」 双方含む commit 検索 (regex は両 order 試行)

□ STEP 4: 上記 3 step 全 negative なら publish 実行可
   いずれか positive (= 既 publish の signal) なら藤本さんに 「これは既 publish では?」 確認

□ STEP 5: publish 実行後、 publish-log-paper{N}.json + publish-log-paper{N}-{platform}.json の両方が生成・commit されているか確認
```

### 各 verify step の信頼度:

| Verify step | 信頼度 | 失敗 mode |
|-------------|--------|----------|
| publish-log-paper{N}.json (suffix なし) read | ★★★ 最高 | 各 publish script 共通の最終 log file、 publish event の真の永続記録 |
| paper file header Status field | △ 中 | drift 可能性高 (publish 後 update されない) |
| git log grep | △ 中 | regex 設計次第で漏れる |
| commit message search | △ 中 | 言葉の order / 表現で漏れる |

## 2026-06-18 Pattern 5 incident からの operational extraction

### Error chain (4 段、 順序通り):

1. **paper file header drift trust**: `Status: DRAFT v0.1 (2026-06-10)` の 「DRAFT」 を 「未投稿」 signal と誤読
2. **git grep regex miss**: `publish.*paper-164` regex は 「Paper 164 v0.1: 11 platform publish」 (publish が後ろ) に match せず hit 0
3. **publish-log skip**: `data/publications/publish-log-paper164.json` (suffix なし) を最初に read しなかった = 9 軸目永続原則違反の root cause
4. **共同 mis-attribution**: 私の判断 + 藤本さんの記憶 (両方曖昧) で error 進行

### 重複の destructive 度:

| Damage type | 状態 | 回復可能性 |
|-------------|------|----------|
| Zenodo orphan DOI 20738998 | immutable | withdraw marker request 可能、 物理削除不可 |
| IA 重複 identifier 1781738571897 | parallel 存在 | UI 削除可能、 並行存在無害 |
| Harvard 重複 file | 同 dataset 内 | UI 削除可能 |
| Dev.to | 422 reject で正しく保護 | no harm |

## chat-Claude session の Pattern 解析

これは [[feedback-chat-claude-over-deference]] 第三軸 「採用しすぎ警戒」 を **私自身の判断結果に reflexive 適用** すべき lesson だった。 chat-Claude content は filter していたが、 自分の git grep + paper header read で出した結論は filter せず採用してしまった。

★ Generalized rule: 「外部 (chat-Claude) からの content」 だけでなく 「私自身の verify 結果」 も Pattern 1-6 警戒対象。 Antipattern 「過度の信頼」 は self-application も含む。

## 永続原則 hierarchy 内 position (9 軸目)

| # | feedback file | scope |
|---|---------------|-------|
| 1 | no-rush-publication | 完成を地としない |
| 2 | evaluation-symmetry-principle | inflate せず deflate せず |
| 3 | world-uniqueness-claim-controllable | audit-内 controllable claim のみ |
| 4 | super-naming-siren-family-pattern | 「○○を超える」 banner 警戒 |
| 5 | line-count-size-vs-kind-distinction | 量でなく種類で分ける |
| 6 | chat-claude-over-deference | 採用しすぎ警戒 (第三軸) |
| 7 | chat-claude-hallucination-warning | 信じすぎ + 信じなさすぎ両警戒 |
| 8 | rei-methodology-barrier-side-discipline | barrier-side vs forward-side 区別 |
| **9** | **★ paper-publish-verification-discipline (本 file)** | **publish-log file を必ず最初に read する** |

## 関連 memory

- [[project-paper167-publish-paper164-pattern5-incident-2026-06-18]] (本永続原則の origin incident)
- [[feedback-chat-claude-over-deference]] (本永続原則は第三軸の self-application extension)
- [[feedback-chat-claude-hallucination-warning]] (Antipattern 「過度の信頼」 を self に reflexive 適用すべき lesson)
- [[feedback-evaluation-symmetry-principle]] (publish-log read を skip = inflate edge への slippage)

## ★ 後の builder への signal

本永続原則は **「paper publish 指示受領時の必須 verify protocol」** として、 将来 全 publish action (Zenodo + IA + Harvard + 5 META-keyed + 3 args-based = 11 platform) の **必須前提 gate** に位置づけられる。 protocol skip は 9 軸目永続原則違反として self-detect されるべき。

特に LLM session context 切替 (新 Claude instance + memory partial load) で 「未投稿か?」 判断が要求された時、 paper file header + git log grep を最初に頼るのは Pattern 5 trap の入口。 **publish-log-paper{N}.json file 存在 check を 最初の 1 action** に置く discipline。
