最終更新: 2026/06/22 18:56
DRP 外部 I/F 一覧
役割: DRP Worker が境界の外(Cloudflare アカウント外のサービス)と通信する全インターフェースの正典(EDD-005)。接続先・プロトコル・認証・障害時挙動を 1 箇所で引けるようにする。旧 README §アーキテクチャ「構成要素マッピング」から正典化(strangler-fig Phase 2 / ADR-0117)。 出典:
drp/src/(2026-06-05 時点のコード実査。各行に file 参照を記載)。実装が変わったら本書を同一 PR で更新する(外部 I/F の追加・変更 = L3 / id_conventions.md §3)。
1. スコープ
本書が扱う「外部 I/F」= Worker プロセスから Cloudflare アカウント境界の外へ出る通信、およびその間接接続先。次は対象外:
| 対象外 | 理由 | 正典 |
|---|---|---|
| Cloudflare platform bindings(D1 / KV / DO / Queues) | 境界内の binding であり HTTP I/F ではない | データ定義書 (EDD-002) |
| inbound HTTP API(Web UI / Claude Code セッション / CI トリガーからの呼出) | 自身が提供する側の契約 | API 仕様書 (EDD-001)(§3.2 に CI トリガー含む 18 ルート) |
| ゲート別プロンプトの中身 | I/O 契約は別正典 | プロンプト仕様書 (EDD-003) |
2. 外部 I/F 一覧(outbound・直接接続)
| # | 接続先 | プロトコル / API | 用途(ゲート) | 認証 | 実装 |
|---|---|---|---|---|---|
| 1 | LiteLLM Gateway(GCP Cloud Run) | OpenAI 互換 chat completions(${LITELLM_GATEWAY_URL}/v1) | 全 LLM 呼出の単一経路(Gate 0〜4 / CV / Policy。3 プロバイダ統合 + 送信前マスキング) | LITELLM_VIRTUAL_KEY(Workers Secret) | src/llm/gateway.ts |
| 2 | GitHub REST API(api.github.com/repos/{owner}/{repo}) | REST v3(X-GitHub-Api-Version: 2022-11-28) | ADR 採番(contents 走査)/ PR 自動作成(Status: Proposed)/ Gate 2 corpus 取得 | GITHUB_PAT Bearer(Workers Secret) | src/nodes/numbering.ts / src/nodes/webhook.ts / src/nodes/consistency.ts |
| 3 | GitHub GraphQL API(api.github.com/graphql) | GraphQL | Gate 2 consistency の補助取得 | 同上 | src/nodes/consistency.ts |
| 4 | LangSmith(apac.api.smith.langchain.com・LANGCHAIN_ENDPOINT で上書き可) | LangSmith tracing API | LLM 呼出トレースの送信(可観測性) | LangSmith API key | src/llm/tracing.ts |
3. LLM プロバイダ(間接接続・LiteLLM Gateway 経由)
Worker はプロバイダへ直接接続しない。プロバイダ接続・モデル名・ルーティングの正典は drp/litellm/config.prod.yaml(2026-06-05 時点の接続先は下表)。機密マスキング(litellm/masking.py)はこの経路上で全プロバイダ送信前に適用される(SR-011)。
| プロバイダ | 経路 | 主な用途 |
|---|---|---|
| Anthropic(Claude Opus / Sonnet) | anthropic/ | 本文生成・採点・CV ほか主要ゲート |
| Google(Gemini Flash / Pro) | vertex_ai/(Vertex AI)+ gemini/(Google AI) | Gate 0 Triage / Gate 3 並列レビュー |
| OpenAI(o3 / GPT 系) | openai/ | Gate 3 並列レビュー(reasoning 視点) |
モデル名・バージョンは本書に転記しない(config.prod.yaml と二重正典になり drift するため)。「どのゲートがどのモデルを使うか」は プロンプト仕様書 (EDD-003) §2 の対応表が正典。
4. 障害時挙動(NFR-004 接続)
| 接続先 | 障害時の挙動 | 根拠 |
|---|---|---|
| LiteLLM / プロバイダ単体障害 | Gate 3 並列レビューは止めない(取得できた指摘のみ PR に追記)。その他ゲートはリトライ後に run を error 終端(握りつぶさない) | README §ゲート表 / NFR-004 |
| GitHub API | githubFetch が非 2xx で即 throw → run は error 終端(PR 未作成のまま握りつぶさない) | src/nodes/webhook.ts |
| LangSmith | トレース欠落のみ(審査結果には影響しない可観測性経路) | src/llm/tracing.ts |
5. 変更時の手続き
- 外部 I/F の追加・削除・認証方式変更は L3(外から観測可能な依存の変更)— ADR 必須 + 本書を同一 PR で更新。
- 認証情報はすべて Workers Secrets(
wrangler secret put)。コード・本書への実値記載は禁止。 - 認証の将来形: Basic 認証 → Cloudflare Access service token 化は ADR-0110(Proposed)。受理されたら EDD-001 と併せて本書 §2 を改訂する。
変更履歴
| 日時 | 変更 |
|---|---|
| 2026-06-05 | 初版 — 旧 README §アーキテクチャ「構成要素マッピング」+ コード実査から正典化(ADR-0117 Phase 2 Should 群の先行 1 本) |