# CLAUDE.md — research vault(LLM wiki レイヤー運用ガイド) この vault は研究ノートの Obsidian vault であり、`claude-obsidian` の LLM wiki ワークフローを**新規ソースのみ・独立 wiki レイヤー共存**方針で導入している。一般的なリポジトリ運用は [`AGENTS.md`](AGENTS.md) を、wiki ページの細則は [`wiki/meta/conventions.md`](wiki/meta/conventions.md) を参照する。 ## VAULT 構造 既存(温存・wiki-ingest で書き換えない): - `papers/` — 論文ノート(`YYYY__SOURCE__Title.md`、事実上のソース DB) - `research/` — プロジェクト・時系列軸の研究ノート(aiops/tsifter/meltria/conferences 等) - `structures/` — MOC(`*.MOC.md`、人間がキュレートする索引。central entry: `structures/000 Index.md`) - `notes/` `floating/` `books/` `Clippings/` `00_inbox/` — その他既存ノート 新設(LLM wiki レイヤー): - `.raw/` — 新規ソースの**不変原本**(`papers/` `conferences/` `articles/` `images/`)。ingest は read-only で読む - `wiki/` — LLM 生成の横断知識 - `sources/` ソース要約、`entities/` 実体、`concepts/` 概念、`questions/` query 回答、`meta/` 規約・lint - `index.md` カタログ / `hot.md` 直近コンテキスト / `log.md` 操作履歴(追記式・先頭追加) / `overview.md` - `.vault-meta/` — `mode.json`(generic) / `transport.json`(filesystem) / lock 等 - `scripts/` — `wiki-mode.py` `wiki-lock.sh` `detect-transport.sh`(plugin からのローカルコピー)、`fetch-paper-pdf.sh`(`wiki-ingest-paper` の PDF 取得ヘルパー) ## wiki 操作の鉄則 1. **wiki を操作する前に必ず [`wiki/meta/conventions.md`](wiki/meta/conventions.md) を読む**。frontmatter・命名・言語(日本語常体)・出典規約は既存 vault に合わせる(標準形式より conventions が優先)。 2. **スコープは新規ソースのみ**。既存 `papers/`・`research/` は ingest しない。今後 `.raw/` に投入する新規ソースだけを wiki 化する。 3. `.raw/` 配下のファイルは**不変**(`.raw/.manifest.json` のみ wiki-ingest が更新)。 4. `wiki/log.md` は**先頭に追記**、過去エントリは編集しない。 5. **既存 `papers/`・`research/`・`structures/`・`notes/` を wiki-ingest で書き換えない**。MOC への逆リンク追記は**人間承認時のみ** 1 件単位。 6. transport は filesystem 固定(`.vault-meta/transport.json` は `manual_override: true`)。`scripts/detect-transport.sh` のローカル版は GUI バイナリ誤検出を無効化済み。bare 実行や plugin 同梱 `scripts/` の直接実行はしない(VAULT_ROOT が plugin 側を指すため)。 7. DragonScale address(`allocate-address.sh`)と BM25 retrieve は未導入(helper 未コピー)。skill は自動 skip する。 8. **lock 有効**: `flock`(util-linux, keg-only)を導入済み。`scripts/wiki-lock.sh`(ローカルコピーは flock のパスを自動解決する)で per-file ロックが効くため、並行 ingest(複数セッション/サブエージェント)も安全。wiki ページ書き込み前に `bash scripts/wiki-lock.sh acquire <path>`、書き込み後に `release <path>`。なお DragonScale address は未導入のため、address を割り当てる種類の並行処理は引き続き不可(lock による page 単位の並行のみ)。 ## レイヤーと skill の役割分担 | やりたいこと | 使う skill | 出力先 | |---|---|---| | **新規論文の取り込み(PDF 原本ごと wiki 化)** | `wiki-ingest-paper` | `.raw/papers/*.pdf` + `wiki/{sources,entities,concepts}/` | | 新規会議トークの詳細メモ | `create-conference-note` | `research/conferences/`(2 層) | | 技術記事の詳細メモ | `create-tech-note` | `notes/`(従来どおり) | | **論文以外の複数ソース横断の定義・関係・矛盾の集約** | `wiki-ingest` / `autoresearch` | `wiki/{sources,entities,concepts}/` | | wiki への質問・引用付き回答 | `wiki-query` | 回答 + `wiki/questions/` | | wiki の健全性チェック | `wiki-lint` | `wiki/meta/lint-report-*.md` | > [!important] `create-paper-note` は使わない。論文は `papers/` に単一ソース詳細メモを作らず、`wiki-ingest-paper` で **PDF 原本を `.raw/papers/` に置きつつ wiki レイヤーに一本化**する(詳細メモは `wiki/sources/` の source ページ本文に含める)。既存 `papers/` ノートは温存し、wiki から一方向参照するのみ。 判断基準: **論文 = `wiki-ingest-paper`**、**会議トーク・技術記事の単一ソース詳細メモ = `create-conference-note` / `create-tech-note`**、**論文以外の複数ソース横断 = `wiki-ingest`**。いずれも wiki から既存一次ノート/MOC へは一方向参照でつなぐ。 典型フロー(新規論文): 1. `wiki-ingest-paper` に arXiv URL / ID / PDF URL / ローカル PDF を渡す(例: `この論文を wiki に https://arxiv.org/abs/XXXX`)。 2. ヘルパー `scripts/fetch-paper-pdf.sh` が PDF 原本を `.raw/papers/<slug>.pdf` に配置し、`pdftotext` でテキスト抽出。 3. `wiki/sources/` に詳細メモ込みの source ページ、`wiki/entities/`・`wiki/concepts/` に横断集約を作り、関連 `structures/*.MOC.md` へ一方向リンク。 ## 概念ページ層(導入の主目的) 既存 vault に欠けていた「異常検知 / Fault Localization / 分散トレーシング / AIOps」等の **cross-project 概念集約**を `wiki/concepts/<原名>.md` で育てる。各 concept は (1) 定義、(2) 関連 source/entity への wikilink、(3) 関連 `structures/*.MOC.md` への一方向参照、(4) 矛盾は contradiction callout を持つ。 ## Git - `wiki/`・`scripts/`・`.vault-meta/{mode,transport}.json` は git 管理する。 - `.raw/` は原本サイズ・著作権配慮のため既定で gitignore(非追跡、原本はローカル保持)。 - plugin 同梱の PostToolUse auto-commit hook は**無効化**する(`.vault-meta/auto-commit.disabled` を配置)。コミットは AGENTS.md の手動運用(`<area>: <imperative>`、area に `wiki` を使う)に従う。