Operator ETL
Operator ETL
FOIA 및 공개 의견을 위한 에이전트 데이터 수집 — 결정론적 메달리온 웨어하우스, LangGraph 오케스트레이션, MCP 도구 표면, PII 정책 평면.
Python과 SQL이 어떤 데이터가 존재하는지 결정합니다. 에이전트는 유형화된 경계 내에서 오케스트레이션합니다. 테스트는 불변 조건을 증명합니다 — MVP 데모에 LLM API 키가 필요하지 않습니다.
정부 기관 및 규제 기관을 위해 구축되었으며, 공개 의견을 수집하고, 공개 전에 PII를 탐지하고, 잘못된 행을 격리하고, 방어 가능한 인사이트(모든 숫자가 웨어하우스에 대해 검증됨)를 생성해야 합니다.
문서
위키 (검색 가능): https://khaosans.github.io/operator-etl/
시작 위치 | 링크 |
작동 모습 보기 | Visual tour (스크린샷) |
첫 실행 | QUICKSTART — |
대상 사용자 | |
제품 UI (추후) | PRODUCT-UX — 명세됨, 이 데모 아님 |
한 명령으로 검증
git clone https://github.com/khaosans/operator-etl.git
cd operator-etl
./scripts/verify.shuv가 없으면 설치하고, 의존성을 동기화하며, 전체 증명 게이트를 실행합니다. 성공 시 OPERATOR_ETL_VERIFY=PASS 로 종료됩니다.
예상 결과: 41개의 pytest 통과, 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는 제약 없는 도구에 절대 도달하지 않습니다. 비평가는 gold에 없는 인사이트 숫자를 거부합니다. bronze는 불변 감사 추적을 제공합니다.
심층 분석: 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평면 | 역할 |
데이터 | Bronze (불변) → silver (검증됨) → gold (SQL 마트) + 격리. Python과 SQL이 실행하며, 원시 행에 LLM이 개입하지 않습니다. |
정책 | PII 스캔, 암호화된 볼트, 인사이트 전에 fail-closed. 볼트는 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
대상 사용자
역할 | 시작 위치 |
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 경계 · fail-closed 품질 · 41개 테스트 + CI
포함되지 않은 것: 프로덕션 Presidio · Regulations.gov 어댑터 · 라이브 GCP/BQ E2E · 프로덕션 담당관 UX (반응형, 스트리밍, 생성 UI) — docs/PRODUCT-UX.md
데모 UI는 Streamlit입니다. 제품 UX는 명세되었으며, 이 MVP가 아닙니다.
프로덕션 주장 전: FINAL-REVIEW 사전 확장 체크리스트
문서
문서 | 열어야 하는 이유 |
검색 가능한 인간 위키 — 여기서 시작 | |
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를 첨부하세요 (원페이지, 백서, 슬라이드):
make share # regenerates docs/share/latest/ after e2e기여 · 라이선스 · 보안
**Apache License 2.0**에 따라 라이선스가 부여됩니다. 샘플 데이터는 합성 데이터입니다 — 실제 FOIA 기록을 커밋하지 마십시오.
docs/RELEASING.md — 안전한 업데이트 및 종속성 워크플로우
이슈와 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