最終更新: 2026/06/22 18:56
LangGraph と adr-kit の責務境界線
位置付け: 本ファイルは Phase 0b で
cp docs/_internal/adr_skill_setup/langgraph-adrkit-boundary.md .claude/skills/adr-kit/references/で adr-kit の references にコピーされ、adr-kit subagent //adr-kit:lint//adr-kit:migrateがコンテキスト読込時に「LangGraph 側との棲み分け」を理解するために参照する。ADR-0019 の決定 3 項のうち「adr-kit を補完ツールとして導入」を運用化するためのルールブック。
責務境界線
| 機能 | 担当 | 備考 |
|---|---|---|
| 起案入口 (Web UI / API) | LangGraph + Hono on Cloudflare Workers | Web UI 自作 (HTML form, 半日) |
| Triage / Scoring / 本文生成 / Slug | LangGraph node + LiteLLM Gateway | ノード単位でモデル切替 + 機密マスキング |
| 採番 + PR 作成 | GitHub Actions (LangGraph webhook 経由) | 排他制御を確実に |
| lint (4 ゲート / file:line citations) | adr-kit | Claude Code 内対話型で深い推論 |
| 遺産 ADR 発掘 | adr-kit | /adr-kit:migrate の read-then-confirm |
| コード ↔ ADR 双方向リンク | adr-kit | subagent でリポジトリ全体スキャン |
原則: LangGraph は「新規 ADR の起案 → 採番 → PR 作成」というフォワードフローを担当。adr-kit は「既存 ADR の品質チェック / 過去資産の発掘」というリバースフロー / バックグラウンドタスクを担当。
採番ルール (重要)
- 通常起案 (Status: Proposed の新規 ADR): LangGraph webhook → GitHub Actions で採番。
- Phase 0 遺産発掘 (
/adr-kit:migrateで legacy ADR を構造化する場合): adr-kit が採番候補を提示するが、最終的な番号は GitHub Actions の排他制御を経由する。- 具体的には、
/adr-kit:migrate実行後に「ADR-XXX として採番してください」と提案を受け、代表取締役が手動でgh workflow run adr-numbering.ymlを起動して確定。 - 同時並行で 2 つの新規 ADR が走る race condition を防ぐ唯一の方法。
- 具体的には、
テンプレ厳守
- adr-kit はデフォルトで canonical-seven-section テンプレを使うが、本リポでは 使わない。
- adr-kit に対しては以下を context に注入して
_template.mdを参照させる:
このリポジトリでは ADR テンプレとして docs/adr/_template.md を厳守してください。
adr-kit の canonical-seven-section テンプレには変換せず、_template.md のセクション構造をそのまま維持してください。
セクション順:
1. # ADR-NNNN: タイトル要旨
2. メタ情報 (Status, Mode, 起案者, 起案日, 承認日)
3. ## コンテキスト
4. ## 決定
5. ## 検討した代替案
6. ## 影響
7. ## 撤退条件
8. ## 参照
/adr-kit:setup を実行しない理由
/adr-kit:setup を実行すると、CLAUDE.md に「ADR Kit Rules」セクションが冪等的に追記される (adr-kit の README より)。本リポでは以下の衝突が発生するため 実行禁止:
- 採番ルールの衝突: adr-kit は自前の採番ロジックを CLAUDE.md に記述するが、本リポは GitHub Actions 採番が SSoT。
- テンプレの衝突: adr-kit は canonical-seven-section をデフォルトテンプレとするが、本リポは
_template.md厳守。 - lint 駆動の衝突: adr-kit は lint pass を必須化する規約を CLAUDE.md に追記するが、本リポは lint pass 率を「撤退条件の判定指標」として位置付けており、必須化はしない (Phase 0 の遺産 ADR で fail が出ても許容、改善は段階的に)。
代わりに、CLAUDE.md References セクションに 1 行だけ手動追記:
- ADR ツールチェーン: docs/adr/0019-drp-migration.md
lint 統合方法 (Phase 0c 候補, 未確定)
GitHub Actions ワークフロー (.github/workflows/drp.yml) に adr-kit:lint step を追加するオプション。ただし以下の制約:
- adr-kit は Claude Code Plugin として動くため、GitHub Actions 上で動かすには Claude Code CLI のヘッドレスモードが必要 (2026-05 時点で正式対応未確認)。
- 代替: PR 作成時に 起案者の手元で
/adr-kit:lintを実行し、結果を PR 本文の checklist として貼り付ける運用 (低コスト)。
Phase 0c で評価し、ROI が見合えば自動化。それまでは手動運用。
adr-kit 撤退条件 (ADR-0019 撤退条件より)
- adr-kit lint pass 率が 50% 未満 (Phase 0 で ADR-0001〜0018 を
/adr-kit:lintした結果) → adr-kit 撤去、LangGraph に lint node 追加 rvdbreemen/adr-kitのメンテが 6 ヶ月以上停滞 →.claude/skills/adr-kit/をリポジトリにコピーして固定 (MIT のため自由 / RQ-038 Caveats 1)
参照
- ADR-0019 (
docs/adr/0019-drp-migration.md) - migration_overview.md (
docs/_internal/decision_pipeline/langgraph_migration/migration_overview.md) - main_workspace_checklist.md (
docs/_internal/decision_pipeline/langgraph_migration/main_workspace_checklist.md) - bizlink-domain.md (
docs/_internal/adr_skill_setup/bizlink-domain.md) - RQ-038 (
docs/_internal/research_prompts/RQ-038_adr_skill_architecture_result.md)