Operator ETL
Operator ETL
政府機関向けデータ取り込み(FOIA・パブリックコメント対応) — 決定論的メダリオンウェアハウス、LangGraphオーケストレーション、MCPツール面、PIIポリシープレーン。
PythonとSQLがデータの存在を決定する。エージェントは型付けされた境界内でオーケストレーションする。テストが不変条件を証明する — MVPデモにLLM APIキーは不要。
政府機関や規制当局向けに構築されており、パブリックコメントの受け入れ、公開前のPII検出、不良行の隔離、そして防御可能な洞察(すべての数値がウェアハウスに対して検証済み)を生成する必要があります。
ドキュメント
Wiki(検索可能): https://khaosans.github.io/operator-etl/
ここから始める | リンク |
動作確認 | ビジュアルツアー(スクリーンショット) |
初回実行 | QUICKSTART — |
対象者 | |
製品UI(後日) | PRODUCT-UX — 仕様策定済み、本デモは対象外 |
ワンコマンドで検証
git clone https://github.com/khaosans/operator-etl.git
cd operator-etl
./scripts/verify.shuvがなければインストールし、依存関係を同期し、完全な証明ゲートを実行します。成功すると最後に**OPERATOR_ETL_VERIFY=PASS**が表示されます。
期待される結果: pytest 41件合格、FOIAデモでstatus=completeとsilver=10が表示される。全スクリーンショットセット: docs/TOUR.md



flowchart LR
Verify[verify.sh] --> UV[uv sync]
UV --> E2E[e2e gate]
E2E --> Pass[OPERATOR_ETL_VERIFY=PASS]すでにuvをお持ちですか? make e2e · 詳細: docs/QUICKSTART.md · ステップバイステップ: docs/WALKTHROUGH.md
flowchart LR
subgraph problem [The usual demo]
A[Chatbot + SQL] --> W[(Warehouse)]
A --> M[Memo with KPIs]
end
subgraph fail [Three failures]
F1[PII in context]
F2[Hallucinated counts]
F3[No replay audit]
end
M --> failOperator ETLは決定論的ETLと制限付きエージェントを分離します。PIIが制約のないツールに到達することはありません。批評家はゴールドにないインサイト番号を拒否します。ブロンズは不変の監査証跡を提供します。
詳細: docs/WHY.md · エージェンシーワークフロー: docs/FOIA-Public-Comments-Guide.md
仕組み — 三つのプレーン
flowchart TB
subgraph data [Data plane]
direction TB
CSV[CSV intake] --> Bronze[bronze_raw]
Bronze --> Silver[silver validated]
Bronze --> Quarantine[quarantine]
Silver --> Gold[gold SQL marts]
end
subgraph policy [Policy plane]
PII[PII scan + vault]
Bronze --> PII
end
subgraph control [Control plane]
Graph[LangGraph]
MCP[MCP allowlist]
Critic[critic]
Graph --> MCP --> Gold
Graph --> Critic --> Insight[verified insight]
endプレーン | 役割 |
データ | ブロンズ(不変)→ シルバー(検証済み)→ ゴールド(SQLマート)+ 隔離。PythonとSQLが実行。生の行にLLMは関与しない。 |
ポリシー | PIIスキャン、暗号化ボールト、インサイト前にフェイルクローズ。VaultはMCP経由で公開されない。 |
制御 | LangGraphパイプライン、MCPホワイトリストツール、批評家がインサイト草案のすべての数値を検証。 |
詳細: docs/HOW-IT-WORKS.md · okf/models/three-planes.md
なぜチャットボットにウェアハウスを預けてはいけないのか?
信頼と証明
質問 | 回答 |
ローカルで動作しますか? |
|
CIは何を証明しますか? | プッシュごとに同じゲート(上記バッジ) |
CIで証明されないものは? | ライブGCPデプロイ、Presidio PII、LLM生成インサイト — 正直な監査を参照 |
証明マトリックス: docs/FOUNDATIONS.md · 完全監査: docs/FINAL-REVIEW.md
証明された内容
メトリック | 期待値 |
サンプルコメント | 12(EPA/FCC案件) |
シルバー(有効) | 10 |
隔離 | 2 |
グラフステータス |
|
批評家 | 合格 |
エンジニアリングトレードオフ
判断 | 選択した方法 | 利点 | コスト | 変更すべきタイミング |
ローカルウェアハウス | DuckDB | ラップトップでゼロインフラ証明 | マルチテナント非対応 | ステージL3 BigQuery — SCALING.md |
PII検出 | 正規表現MVP | シンプル、テスト可能、ML依存なし | 名前・住所を見逃す | 本番ではPresidio |
インサイト生成 | テンプレート+批評家 | APIキー不要、決定論的 | ナラティブの柔軟性が低い | 機関が承認したらLLMノード |
エージェントデータアクセス | MCP許可リスト(3ツール) | 最小権限 | アドホックSQL探索不可 | 本番FOIAでは緩和しない |
品質障害 | フェイルクローズ | 信頼できるKPI | 修正までインサイトをブロック | 警告と表示バナーは避ける |
完全な証明マトリックス: docs/FOUNDATIONS.md
対象者
役割 | ここから始める |
FOIA担当官 | |
データエンジニア | |
アーキテクト/レビュアー | WHY → FOUNDATIONS → |
AIエージェント(MCP) | AGENTS.md · |
導入ラダー
flowchart LR
L0[L0 Prove make e2e] --> L1[L1 Run locally]
L1 --> L2[L2 Extend source]
L2 --> L3[L3 GCP staging]
L3 --> L4[L4 Production HITL]レベル | アクション | ドキュメント |
0 — 証明 |
| |
1 — ローカル実行 | MCP、ダッシュボード | |
2 — 拡張 | 新しいCSVソース | |
3 — GCPステージング | Terraform + Cloud Run | |
4 — 本番 | Presidio、HITL、ライブBQ、製品UX |
よく使うコマンド
コマンド | アクション |
| 初回実行 — 必要に応じてuvをインストール+完全な証明ゲート |
| verify.shと同じ |
| MVP完全証明ゲート(OKF+テスト+FOIAデモ) |
| FOIAデモのみ |
| pytest(41件のテスト) |
| FOIAエージェントパイプライン |
| Streamlit — Gov+Ordersタブ |
| Cursorエージェント用MCPサーバー |
| PDF共有パックを再生成 |
すべてのターゲットは make help を実行してください。
アーキテクチャ
プレーン | パッケージ | ステータス |
データ |
| 実装済み |
制御 |
| 実装済み |
ポリシー |
| 実装済み |
MCP |
| 実装済み |
GCP |
| 一部 |
ライブマトリックス: okf/models/implementation-status.md
スコープの境界
本デモが証明するもの: ローカルFOIAパイプライン · PIIスキャン · MCP境界 · フェイルクローズ品質 · 41テスト + CI
含まれないもの: 本番Presidio · Regulations.govアダプター · ライブGCP/BQ E2E · 本番担当官UX(レスポンシブ、ストリーミング、gen UI) — docs/PRODUCT-UX.md
デモUIはStreamlitです。製品UXは仕様策定済みであり、本MVPの範囲外です。
本番を主張する前に: FINAL-REVIEW事前スケーリングチェックリスト
ドキュメント
ドキュメント | 開く理由 |
検索可能な人間向けWiki — ここから始める | |
verify、CLI、Streamlitのスクリーンショット | |
デモの対象者 | |
製品UIバックログ(仕様策定済み) | |
初回実行 — | |
インストール、MCP、環境変数 | |
ステップバイステップの証明 | |
Streamlit Gov / Orders | |
オプションのローカルOllama / OpenAI互換インサイト | |
DuckDB → GCP | |
引用+証明マトリックス | |
各テストが証明するもの | |
ペルソナ別の完全なインデックス |
関連: HOW-IT-WORKS · WHY · ホワイトペーパー
共有とプレゼンテーション
オープンソース: https://github.com/khaosans/operator-etl — クローンして make e2e を実行。
面接、LinkedIn、提案書用に、docs/share/ からPDF(1ページ資料、ホワイトペーパー、スライド)を添付してください。
make share # regenerates docs/share/latest/ after e2eコントリビューション · ライセンス · セキュリティ
ライセンスは Apache License 2.0 です。サンプルデータは合成データであり、実際のFOIA記録をコミットしないでください。
docs/RELEASING.md — 安全なアップデートと依存関係のワークフロー
IssueおよびPRを歓迎します。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
US public-records intelligence for AI agents — companies, SEC, courts, spending, licenses.
Deterministic compliance and vertical knowledge bases for autonomous agents. Free 24hr trial.
Responsible-AI guardrails for agents: scoring with policy, injection & PII detection, DPDP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/khaosans/operator-etl'
If you have feedback or need assistance with the MCP directory API, please join our Discord server