Operator ETL
Operator ETL
FOIA 및 공개 의견을 위한 에이전트 데이터 수집 — 결정론적 메달리온 웨어하우스, LangGraph 오케스트레이션, MCP 도구 표면, PII 정책 평면.
Python과 SQL이 어떤 데이터가 존재하는지 결정합니다. 에이전트는 타입이 지정된 경계 내에서 오케스트레이션합니다. 테스트가 불변 조건을 증명합니다 — MVP 데모에 LLM API 키가 필요하지 않습니다.
공개 의견을 수집하고, 공개 전에 PII를 탐지하고, 잘못된 행을 격리하며, 방어 가능한 인사이트(모든 숫자가 웨어하우스에 대해 검증됨)를 생성해야 하는 정부 기관 및 규제 기관을 위해 구축되었습니다.
문서
위키 (검색 가능): https://khaosans.github.io/operator-etl/
시작 위치 | 링크 |
작동 모습 보기 | 시각적 둘러보기 (스크린샷) |
첫 실행 | QUICKSTART — |
구축한 내용 학습 | |
대상 사용자 | |
제품 UI (추후) | PRODUCT-UX — 명세됨, 이 데모 아님 |
Related MCP server: MES Document MCP
한 명령으로 검증
git clone https://github.com/khaosans/operator-etl.git
cd operator-etl
./scripts/verify.shuv가 없으면 설치하고, 종속성을 동기화하며, 전체 증명 게이트를 실행합니다. 성공 시 OPERATOR_ETL_VERIFY=PASS 로 종료됩니다.
예상 결과: pytest 51개 통과, 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
게시된 스냅샷은 git 태그입니다(모든 병합이 아님). 릴리스가 존재한 후: GitHub Releases (wheels), ghcr.io/khaosans/operator-etl:<version>, GitHub Packages operator-etl. 프로세스: docs/VERSIONING.md. 위키는 항상 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 --> 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 스캔, 암호화된 볼트, 인사이트 전에 실패-폐쇄. 볼트는 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 |
그래프 상태 |
|
비평가 | 통과 |
자세한 내용: 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 담당자 | |
데이터 엔지니어 | |
아키텍트 / 검토자 | 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 (51개 테스트) |
| FOIA 에이전트 파이프라인 |
| Streamlit — Gov + Orders 탭 |
| Cursor 에이전트용 MCP 서버 |
| PDF 공유 팩 재생성 |
모든 대상에 대해 make help를 실행하십시오.
아키텍처
평면 | 패키지 | 상태 |
데이터 |
| 구현됨 |
제어 |
| 구현됨 |
정책 |
| 구현됨 |
MCP |
| 구현됨 |
GCP |
| 부분 |
라이브 매트릭스: okf/models/implementation-status.md
범위 경계
이 데모가 증명하는 것: 로컬 FOIA 파이프라인 · PII 스캔 · MCP 경계 · 실패-폐쇄 품질 · 51개 테스트 + CI
포함되지 않은 것: 프로덕션 Presidio · Regulations.gov 어댑터 · 라이브 GCP/BQ E2E · 프로덕션 담당자 UX (반응형, 스트리밍, 일반 UI) — docs/PRODUCT-UX.md
데모 UI는 Streamlit입니다. 제품 UX는 명세되었으며, 이 MVP가 아닙니다.
프로덕션 주장 전: FINAL-REVIEW 사전 확장 체크리스트
문서
문서 | 왜 열어야 하는가 |
검색 가능한 인간용 위키 — 여기서 시작하세요 | |
verify, CLI, Streamlit 스크린샷 | |
데모 대상 사용자 | |
제품 UI 백로그 (명세됨) | |
첫 실행 — | |
문제, 구축 내용, 유용한 이유 | |
Medallion, planes, critic — 영어 + 인용문 | |
다른 데이터 소스 — planes 유지, 스키마 변경 | |
녹색 verify 후 잔여 위험 | |
AI RMF / 600-1 / SP 800-122 — 정렬, 인증 아님 | |
모델 카드 및 사용 시점 (Ollama vs OpenAI) | |
설치, 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/VERSIONING.md — 태그를 게시하고, 버전을 덮어쓰지 마세요
docs/RELEASING.md — PR 워크플로, 릴리스 생성, Dependabot
이슈와 PR은 환영합니다.
This server cannot be deployed
Maintenance
Related MCP Connectors
AI agents for federal IT & pharma: alert triage, ICAM, helpdesk, incidents, ticket routing.
Normalized official data with provenance, aggregations, insights, free samples and agent access.
Normalized official data with provenance, aggregations, insights, free samples and agent access.
Source-reconciled U.S. environmental facility compliance evidence for AI agents.
Related MCP Servers
FlicenseAqualityCmaintenanceEnables AI agents to upload, verify, and chat about documents for compliance (e.g., SOC2, GDPR) with PII redacted server-side.812 npm-- AlicenseBqualityDmaintenanceEnables AI agents to safely ingest, inspect, edit, and export manufacturing documents (Excel, PDF, Word, Markdown) with controlled patch workflows and MES entity extraction.23MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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
- AlicenseNot gradedqualityAmaintenanceEnables 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.15Apache 2.0