Skip to main content
Glama
khaosans

Operator ETL

by khaosans

Operator ETL

FOIAおよびパブリックコメントのためのエージェント型データ取り込み — 決定論的メダリオンウェアハウス、LangGraphオーケストレーション、MCPツールサーフェス、PIIポリシープレーン。

CI Release License

PythonとSQLがデータの存在を決定する。エージェントは型付き境界内でオーケストレーションする。テストが不変条件を証明する — MVPデモにLLM APIキーは不要。

政府機関や規制団体向けに構築されており、パブリックコメントの取り込み、公開前のPII検出、不正行の隔離、そして防御可能なインサイト(すべての数値がウェアハウスに対して検証済み)を生成する必要がある。


ドキュメント

Wiki(検索可能): https://khaosans.github.io/operator-etl/

ここから始める

リンク

動作を見る

ビジュアルツアー(スクリーンショット)

初回実行

QUICKSTART — ./scripts/verify.sh

構築内容を学ぶ

コンセプト · パターン · 適用 · リスク

対象者

ペルソナ

製品UI(後日)

PRODUCT-UX — 仕様定義済み、このデモでは未実装


Related MCP server: MES Document MCP

ワンコマンドで検証

git clone https://github.com/khaosans/operator-etl.git
cd operator-etl
./scripts/verify.sh

uvがない場合はインストールし、依存関係を同期し、完全な証明ゲートを実行します。成功すると、最後に OPERATOR_ETL_VERIFY=PASS と表示されます。

期待される結果: pytest 51件合格、FOIAデモで status=complete と silver=10 が出力。完全なスクリーンショットセット: docs/TOUR.md。

Gov / FOIA ダッシュボード

Orders デモタブ

Template etl-graph インサイト

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

公開スナップショットはgitタグです(すべてのマージではありません)。リリース後: GitHub Releases(ホイール)、ghcr.io/khaosans/operator-etl:<version>、GitHub Packages operator-etl。プロセス: docs/VERSIONING.md。Wikiは常に master を追跡します。

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 --> fail

Operator 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スキャン、暗号化ボールト、インサイト前にフェイルクローズ。ボールトはMCP経由で公開されない。

制御

LangGraphパイプライン、MCP許可リストツール、批評家がインサイトドラフト内のすべての数値を検証。

詳細: docs/HOW-IT-WORKS.md · okf/models/three-planes.md


なぜチャットボットにウェアハウスを渡さないのか?

信頼と証明

質問

回答

ローカルで動作するか?

make e2e — OKF検証、pytest 51件合格、新しいウェアハウスでのFOIAデモ

CIは何を証明するか?

すべてのプッシュで同じゲート(上記バッジ)

CIで証明されないものは?

ライブGCPデプロイ、Presidio PII、LLM生成インサイト — 正直な監査を参照

証明マトリックス: docs/FOUNDATIONS.md · 完全監査: docs/FINAL-REVIEW.md


あなたが今証明したこと

メトリック

期待値

サンプルコメント

12(EPA/FCCドケット)

シルバー(有効)

10

隔離された

2

グラフステータス

complete

批評家

合格

詳細: okf/models/mvp-demo.md


エンジニアリングトレードオフ

決定

選択

利点

コスト

変更すべきタイミング

ローカルウェアハウス

DuckDB

ラップトップでゼロインフラ証明

マルチテナントではない

ステージL3 BigQuery — SCALING.md

PII検出

Regex MVP

シンプル、テスト可能、ML依存なし

名前、住所を見逃す

本番ではPresidio

インサイト生成

テンプレート + 批評家

APIキー不要、決定論的

ナラティブの柔軟性が低い

機関が承認した場合にLLMノード

エージェントデータアクセス

MCP許可リスト(3ツール)

最小特権

アドホックSQL探索不可

本番FOIAでは緩和しない

品質障害

フェイルクローズ

信頼できるKPI

修正されるまでインサイトをブロック

警告表示バナーを避ける

完全な証明マトリックス: docs/FOUNDATIONS.md


対象者

役割

ここから始める

FOIA担当官

FOIAガイド → TOUR · PERSONAS

データエンジニア

GETTING-STARTED → SCALING

アーキテクト/レビューア

WHY → FOUNDATIONS → make e2e

AIエージェント(MCP)

AGENTS.md · operator-etl-mcp


導入ラダー

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 — 証明

make e2e

WALKTHROUGH

1 — ローカル実行

MCP、ダッシュボード

GETTING-STARTED

2 — 拡張

新しいCSVソース

extend-new-source

3 — GCPステージング

Terraform + Cloud Run

SCALING

4 — 本番

Presidio、HITL、ライブBQ、製品UX

FINAL-REVIEW · PRODUCT-UX


よく使うコマンド

コマンド

アクション

./scripts/verify.sh

初回実行 — 必要に応じてuvをインストール + 完全な証明ゲート

make verify

verify.shと同じ

make e2e

完全なMVP証明ゲート(OKF + テスト + FOIAデモ)

make demo

FOIAデモのみ

make test

pytest(51テスト)

uv run etl-graph --source public_comments

FOIAエージェント型パイプライン

uv run etl dashboard

Streamlit — Gov + Ordersタブ

uv run operator-etl-mcp

Cursorエージェント用MCPサーバー

make share

PDF共有パックを再生成

すべてのターゲットは make help で表示。


アーキテクチャ

プレーン

パッケージ

ステータス

データ

operator_etl/

実装済み

制御

operator_etl_graph/

実装済み

ポリシー

operator_etl_policy/

実装済み

MCP

operator_etl_mcp/

実装済み

GCP

operator_etl_gcp/ + infra/

一部

ライブマトリックス: okf/models/implementation-status.md


スコープ境界

このデモが証明するもの: ローカルFOIAパイプライン · PIIスキャン · MCP境界 · フェイルクローズ品質 · 51テスト + CI

含まれないもの: 本番Presidio · Regulations.govアダプター · ライブGCP/BQ E2E · 本番担当官UX(レスポンシブ、ストリーミング、gen UI) — docs/PRODUCT-UX.md

デモUIはStreamlitです。製品UXは仕様定義済みであり、このMVPではありません。

本番請求前: FINAL-REVIEW スケール前チェックリスト


ドキュメント

ドキュメント

開く理由

Wiki (GitHub Pages)

検索可能な人間向けWiki — ここから始めてください

docs/TOUR.md

verify、CLI、Streamlitのスクリーンショット

docs/PERSONAS.md

デモの対象者

docs/PRODUCT-UX.md

プロダクトUIのバックログ(SPECIFIED)

docs/QUICKSTART.md

初回実行 — ./scripts/verify.sh

docs/CONCEPTS.md

問題、構築したもの、その有用性

docs/PATTERNS.md

メダリオン、プレーン、批評 — 英語 + 引用

docs/APPLY.md

他のデータソース — プレーンは維持、スキーマを変更

docs/RISKS.md

グリーンverify後の残存リスク

docs/NIST.md

AI RMF / 600-1 / SP 800-122 — 認証ではなく、整合性

docs/MODELS.md

モデルカードと使用タイミング(Ollama vs OpenAI)

docs/GETTING-STARTED.md

インストール、MCP、環境変数

docs/WALKTHROUGH.md

ステップバイステップの証明

docs/DASHBOARD.md

Streamlit Gov / Orders

docs/LLM.md

Ollama / OpenAI互換のインサイトのインストール

docs/SCALING.md

DuckDB → GCP

docs/FOUNDATIONS.md

引用 + 証明マトリックス

docs/TESTING.md

各テストが証明する内容

docs/README.md

ペルソナ別の完全インデックス

関連: 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記録をコミットしないでください。

IssueとPRは歓迎します。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables enterprise AI agents to query governed data lineage, PII-aware schema documentation, and semantic metadata from SQL logs via MCP, with role-based access and vector search.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to query governed data warehouses through plain language, returning grounded answers with SQL, confidence grades, and signed receipts while enforcing access, testing, and audit controls.
    15
    Apache 2.0