役割: DRP の外部俯瞰図(Container / Deployment)と 1 audit の時系列図(Sequence)を収録する。内部実装ファイルの詳細は 内部実装マップ、Pipeline session の状態遷移は 状態遷移仕様、外部接続の詳細は EDD-005 外部 I/F 一覧

1. Container / Deployment 図(システム俯瞰)

外部依存・配置先・データ flow を 1 画面で俯瞰。

flowchart TB
    User([👤 起案者
社内 / 業務委託 / 代表取締役]) Repr([👤 代表取締役 代表取締役
Accepted/Superseded 権限]) subgraph CF["☁️ Cloudflare Edge"] WebUI[Hono Web UI
public/chat.html] Worker[Worker
src/index.ts] DO[(Durable Objects
SOCRATIC_SESSIONS
PIPELINE_SESSIONS
ADR-0066 実装済)] KV[(KV
DRAFTS_KV
PROMPTS_KV)] Graph[LangGraph StateGraph
src/graph.ts] end subgraph GCP["🌩 GCP Cloud Run"] LiteLLM[LiteLLM Gateway
+ masking.py] SM[(Secret Manager
API keys)] end subgraph LLMs["🤖 LLM Providers"] Claude[Anthropic
Claude Opus + Sonnet] Gemini[Google Vertex AI
Gemini Flash + Pro] OpenAI[OpenAI
o3 reasoning] end subgraph GH["🐙 GitHub"] GHA[GitHub Actions
採番 + PR 作成] Repo[bizlp-gas-accounting
docs/adr/] end User --> WebUI WebUI --> Worker Worker --> DO Worker --> KV Worker --> Graph Graph --> LiteLLM LiteLLM --> SM LiteLLM --> Claude LiteLLM --> Gemini LiteLLM --> OpenAI Worker -->|合格時 webhook| GHA GHA --> Repo Repo -.PR.-> Repr Repr -.adr-kit lint + Accepted.-> Repo

2. Sequence 図(1 audit の時系列)

POST /chat/start から PR 作成まで、各 Gate の順序と LLM 呼び出しを時系列で示す。

sequenceDiagram
    autonumber
    participant U as 起案者
    participant W as Web UI
(chat.html) participant H as Hono Worker
(src/index.ts) participant G as LangGraph
(buildGraph) participant L as LiteLLM
Gateway participant GH as GitHub
Actions U->>W: 起案フォーム submit W->>H: POST /chat/start H->>G: graph.invoke(state) G->>L: Gate 0 Triage (gemini-flash) L-->>G: { needsAdr, mode } Note over G: needsAdr=false → END (差戻し) G->>L: 受付プリゲート 一次 (gemini-flash, 属性分岐シグナル抽出) L-->>G: { 塊複数の疑い? } Note over G: 疑いありのときのみ二次を呼ぶ G->>L: 受付プリゲート 二次 (claude-sonnet, 主張グラフへ構造化分解) L-->>G: { rejected?, reasons[], evidence(逐語引用) } Note over G: 塊の混在/対症療法/行き先なし前提 → END (差戻し・ADR-0142) / 判定は決定論コード・INVALID は socratic へ G->>L: Gate 1 盲点検出 (claude-sonnet, DA+PM並列→Judge) L-->>G: { socraticPass:true, blindSpotFindings[] } Note over G: ADR-0071 情報提供型・差戻ししない (findings は PR body へ) / 視点は原稿シードで決定的 (Part3) G->>L: Body generation (claude-opus) L-->>G: adrBody (Markdown) G->>L: Gate 4 Scoring (claude-opus + thinking) L-->>G: { score, weakest_items } Note over G: score < threshold → END (差戻し) G->>L: Cross-Validation 盲点×Must軸 (claude-opus, ライフサイクル整合バー) L-->>G: { verdicts[], undermines? } Note over G: critical 盲点×Must×undermines → END (差戻し) Note over G: ただし trailing 連続却下で盲点が「移動」(goalpost) or 連続却下が round-cap(既定3) 到達なら escalate → 自動 reject せず PR 起票 (rejected=false) + 本文に残余リスク節付与 (Part4 / ADR-0109)。人間の merge=受理 / close=却下 が終端 (同一盲点の持続却下は cap 優先で reject 温存 = FN=0) G->>L: Gate 2 Consistency (claude-opus) L-->>G: { verdict, conflict? } Note over G: CONFLICT + supersede 宣言なし → END par 3 vendor 並列 G->>L: Gate 3 Gemini Pro G->>L: Gate 3 Claude Opus G->>L: Gate 3 GPT o3 end L-->>G: parallel review annotations G->>L: Policy alignment (claude-opus) L-->>G: { priority_alignment, accepted_risks } G->>L: Slug (gemini-flash) L-->>G: { slug } G->>GH: Numbering (api.github.com で次 ADR-NNNN 採番) GH-->>G: { number } G->>GH: webhook (PR 作成) GH-->>U: PR URL (Status: Proposed)

変更履歴

日時変更
2026-06-16② 受付プリゲート(Gate 0a・ADR-0142)を Sequence 図に追加 — Triage 後・Gate 1 前に一次(gemini-flash 属性分岐シグナル)→二次(claude-sonnet 主張グラフ分解)の 2 段判定と差戻し分岐を図示。本番稼働 2026-06-15 を反映
2026-06-07初版 — README §8.1 から移植(経緯: ADR-0117)