依存関係管理 (Dependabot 週次自動更新)
ADR-0196 (依存関係の週次自動更新有効化 · Accepted 2026-07-03) の運用ルール正典。.github/dependabot.yml (main #4055 で新設) に基づく Version Update 経路と、GitHub Dependabot Alerts の Security Update 経路の使い分けを定める。
本 doc は ADR-0196 §11 実装配線「docs SSoT 同期」の一環で新設。ADR-0196 本文と本 doc は 1:1 対応 (ADR = 決定と根拠 · 本 doc = 現場で参照する運用手順)。
目的
- 依存関係の脆弱性を早期検知し、リスクレベル別に対応する
- 手動 pnpm update が「過去 4 回中 3 回で一括更新に流れて破綻」した経験を、Dependabot 自動化で解消する
- SOC 2 CC7.1 / CC8.1 の脆弱性対応証跡を機械可読な形式で保存する
2 経路の使い分け
Version Update (weekly cycle · 通常 patch/minor 更新)
- 経路:
.github/dependabot.ymlの 4 update source (root / drp / tools/rq-eval / github-actions) が weekly 発火 - 対象: 全 dependency の latest version tracking
- label:
dependencies+ source 別 (dep-root/dep-drp/dep-tools/dep-actions) - auto-merge 対象 (ADR-0196 §3): patch/minor のみ · major bump は手動判定
Security Update (自動 PR 化 · 脆弱性優先対応)
- 経路: GitHub Dependabot Alerts で脆弱性検出 → fix version が upstream にあれば自動 Security Update PR 化
- 対象: CVE 検出済の dependency のみ (44 alerts / 2026-07-03 時点)
- 注意: upstream に fix version がない場合は PR 化されない = 手動対応要 (方針 A · 個別処理)
- severity 別対応 (2026-07-03 doc session §Dependabot alerts 44 の分布参照):
- critical → 即対応 (main/drp 発注 handover 経由)
- high → 週次一括処理 (発注 handover 経由)
- medium → 月次一括処理 or ADR-0196 実装完遂後の auto-merge 化
- low → 四半期処理 or dismiss (影響評価後)
4 update source (weekly cycle)
.github/dependabot.yml の登録 (2026-07-03 時点):
| source | directory | open-pull-requests-limit | label |
|---|---|---|---|
| root workspace | / | 5 | dependencies + dep-root |
| drp workspace | /drp | 5 | dependencies + dep-drp |
| tools/rq-eval | /tools/rq-eval | 3 | dependencies + dep-tools |
| github-actions | / (.github/workflows/**) | 3 | dependencies + dep-actions |
open-pull-requests-limit の意図: Enterprise 化直後の一気消化を防ぎ、review 負荷を上限化する。上限超過分は Dependabot が翌週に持ち越す。
SLA
ADR-0196 §4.1 で確立:
- 目標 (成立条件): 7 日以内 PR 化率 > 80% (Version Update / Security Update 共通)
- 撤退閾値: 30 日以内 PR 化率 = 100% を維持できなければ ADR-0196 撤退条件 §4 発火
- 月間 open PR 数: ≤ 16 件 で運用維持 (超過は open-pull-requests-limit で自動抑制)
- CI 実行時間: 平均 2 分 (dependency PR 1 本) · 月次合計 ≤ 40 分 で維持
7 日と 30 日の使い分け: 7 日 = 目標値 (KPI 追跡) · 30 日 = 監査下限 (SOC 2 CC8.1 準拠 · 30 日超は監査で指摘)。両者の関係は Confirmation §9 で四半期毎に verify する。
四半期サニティチェック
ADR-0196 §9-5 で確立:
- 頻度: 四半期 (2026-10 / 2027-01 / 2027-04 / 2027-07)
- 手順:
- 直近 13 週の Dependabot PR 一覧を
gh pr list --label dependencies --state closed --limit 100で取得 - major bump は全件 review · minor 以下から層化サンプリング N=5 (Claude 指摘の検出力補強 · Layered sampling)
- 各 PR の transitive dependency breaking change 有無を確認 (release notes +
pnpm why <package>で影響評価) - CI 通過だけで安全と判断されている「認知バイアス」を検出する目的
- 直近 13 週の Dependabot PR 一覧を
- 結果保存:
docs/_internal/06_ops/audit_evidence.md§四半期サニティチェック履歴 に追記
撤退条件 (ADR-0196 §8 準拠)
- workspace protocol 誤解釈のサイレント失敗 — 10 日連続 Dependabot PR ゼロ → Slack アラート (
.github/workflows/dependabot-zero-pr-alert.yml· ADR-0196 §11 実装配線) - 月間 open dependency PR > 16 件 sustained 2 ヶ月 → open-pull-requests-limit 調整 or Version Update 一時停止
- CI 実行時間 > 月 40 分 sustained → dependency 対象縮小 or CI 並列化検討
- 30 日以内 PR 化率 < 100% → 監査失格 · dependabot.yml 削除 & Version Update 停止 & Renovate 移行 ADR 起票
- major bump auto-merge の breaking change 事故 → auto-merge 範囲を patch のみに縮退
監査証跡連携
SOC 2 CC7.1 / CC8.1 準拠の証跡は docs/_internal/06_ops/audit_evidence.md §Dependabot 対応履歴 で管理する。月次 JSON エクスポート (scripts/dependabot_sla_export.mjs · ADR-0196 §11 実装配線) の保存先 · 保存期間 · 改ざん不可要件は同 doc §保存要件 を参照。
関連
- ADR-0196 (依存関係の週次自動更新有効化) — 本 doc の正典 · Accepted 2026-07-03
- ADR-0142 (Pregate 簡易判定) — 月額 $80 上限で cost gate · Dependabot 増分は $0.26/月で範囲内
- ADR-0159 (main = orchestrator · GAS 実装は mas 専属) — main 領分の CI 配線ルール
docs/_internal/05_how-to/git_workflow.md§Dependabot PR の review 判断 — major bump 除外・CODEOWNERS 承認手順docs/_internal/06_ops/audit_evidence.md— SOC 2 監査証跡の保存要件.github/dependabot.yml— 現行の update 定義 (main PR #4055)