Operator ETL
Operator ETL
Agentische Datenerfassung für FOIA und öffentliche Kommentare — deterministisches Medaillon-Warehouse, LangGraph-Orchestrierung, MCP-Tool-Oberfläche, PII-Richtlinienebene.
Python und SQL entscheiden, welche Daten existieren. Agenten orchestrieren innerhalb typisierter Grenzen. Tests beweisen die Invarianten — kein LLM-API-Schlüssel für die MVP-Demo erforderlich.
Gebaut für Regierungsbehörden und regulierte Körperschaften, die öffentliche Kommentare aufnehmen, PII vor der Veröffentlichung erkennen, fehlerhafte Zeilen unter Quarantäne stellen und verteidigungsfähige Erkenntnisse produzieren müssen (jede Zahl gegen das Warehouse verifiziert).
Dokumentation
Wiki (durchsuchbar): https://khaosans.github.io/operator-etl/
Hier starten | Link |
In Aktion sehen | Visuelle Tour (Screenshots) |
Erster Durchlauf | QUICKSTART — |
Für wen es gedacht ist | |
Produkt-UI (später) | PRODUCT-UX — SPEZIFIZIERT, nicht diese Demo |
Mit einem Befehl verifizieren
git clone https://github.com/khaosans/operator-etl.git
cd operator-etl
./scripts/verify.shInstalliert uv, falls fehlend, synchronisiert Abhängigkeiten, führt das vollständige Proof-Gate aus. Erfolg endet mit OPERATOR_ETL_VERIFY=PASS.
Erwartet: 41 pytest bestanden, FOIA-Demo gibt status=complete und silver=10 aus. Vollständiger Screenshot-Satz: docs/TOUR.md.



flowchart LR
Verify[verify.sh] --> UV[uv sync]
UV --> E2E[e2e gate]
E2E --> Pass[OPERATOR_ETL_VERIFY=PASS]Hast du bereits uv? make e2e · Details: docs/QUICKSTART.md · Schritt-für-Schritt: 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 trennt deterministisches ETL von begrenzten Agenten. PII erreicht niemals uneingeschränkte Tools; der Kritiker lehnt Erkenntniszahlen ab, die nicht in Gold sind; Bronze gibt dir eine unveränderliche Prüfspur.
Tiefergehend: docs/WHY.md · Behörden-Workflow: docs/FOIA-Public-Comments-Guide.md
Wie es funktioniert — drei Ebenen
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]
endEbene | Rolle |
Daten | Bronze (unveränderlich) → Silber (validiert) → Gold (SQL-Marts) + Quarantäne. Python und SQL führen aus; kein LLM auf Rohdatenzeilen. |
Richtlinie | PII-Scan, verschlüsselter Tresor, Fail-Closed vor Erkenntnis. Tresor niemals über MCP exponiert. |
Steuerung | LangGraph-Pipeline, MCP-Allowlist-Tools, Kritiker verifiziert jede Zahl im Erkenntnisentwurf. |
Details: docs/HOW-IT-WORKS.md · okf/models/three-planes.md
Warum dem Chatbot nicht dein Warehouse geben?
Vertrauen und Beweis
Frage | Antwort |
Funktioniert es lokal? |
|
Was beweist CI? | Gleiches Gate bei jedem Push (Abzeichen oben) |
Was wird nicht in CI bewiesen? | Live-GCP-Deployment, Presidio-PII, LLM-generierte Erkenntnisse — siehe ehrliches Audit |
Beweismatrix: docs/FOUNDATIONS.md · Vollständiges Audit: docs/FINAL-REVIEW.md
Was du gerade bewiesen hast
Metrik | Erwartet |
Beispielkommentare | 12 (EPA/FCC-Akten) |
Silber (gültig) | 10 |
Unter Quarantäne | 2 |
Graph-Status |
|
Kritiker | bestanden |
Details: okf/models/mvp-demo.md
Engineering-Kompromisse
Entscheidung | Wir wählten | Nutzen | Kosten | Wann ändern |
Lokales Warehouse | DuckDB | Null-Infrastruktur-Beweis auf einem Laptop | Nicht mandantenfähig | Stufe L3 BigQuery — SCALING.md |
PII-Erkennung | Regex-MVP | Einfach, testbar, keine ML-Abhängigkeiten | Übersieht Namen, Adressen | Presidio für Produktion |
Erkenntnisgenerierung | Vorlage + Kritiker | Kein API-Schlüssel; deterministisch | Weniger narrative Flexibilität | LLM-Knoten, wenn die Behörde zustimmt |
Agenten-Datenzugriff | MCP-Allowlist (3 Tools) | Minimale Rechte | Keine Ad-hoc-SQL-Erkundung | Für Produktions-FOIA nicht lockern |
Qualitätsfehler | Fail-Closed | Vertrauenswürdige KPIs | Blockiert Erkenntnisse bis zur Behebung | Warn-und-zeige-Banner vermeiden |
Vollständige Beweismatrix: docs/FOUNDATIONS.md
Für wen dies gedacht ist
Rolle | Hier starten |
FOIA-Beauftragter | |
Dateningenieur | |
Architekt / Prüfer | WHY → FOUNDATIONS → |
KI-Agent (MCP) | AGENTS.md · |
Adopter-Leiter
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]Ebene | Aktion | Dokumentation |
0 — Beweisen |
| |
1 — Lokal ausführen | MCP, Dashboard | |
2 — Erweitern | Neue CSV-Quelle | |
3 — GCP-Staging | Terraform + Cloud Run | |
4 — Produktion | Presidio, HITL, live BQ, Produkt-UX |
Häufige Befehle
Befehl | Aktion |
| Erster Durchlauf — uv bei Bedarf installieren + vollständiges Proof-Gate |
| Wie verify.sh |
| Vollständiges MVP-Proof-Gate (OKF + Tests + FOIA-Demo) |
| Nur FOIA-Demo |
| pytest (41 Tests) |
| FOIA-Agenten-Pipeline |
| Streamlit — Gov + Bestellungen-Tabs |
| MCP-Server für Cursor-Agenten |
| PDF-Share-Paket neu generieren |
Führe make help für alle Ziele aus.
Architektur
Ebene | Paket | Status |
Daten |
| IMPLEMENTIERT |
Steuerung |
| IMPLEMENTIERT |
Richtlinie |
| IMPLEMENTIERT |
MCP |
| IMPLEMENTIERT |
GCP |
| TEILWEISE |
Lebende Matrix: okf/models/implementation-status.md
Umfangsgrenzen
Diese Demo beweist: Lokale FOIA-Pipeline · PII-Scan · MCP-Grenze · Fail-Closed-Qualität · 41 Tests + CI
Nicht enthalten: Produktions-Presidio · Regulations.gov-Adapter · Live-GCP/BQ-E2E · Produktions-Beauftragten-UI (responsiv, Streaming, Gen-UI) — docs/PRODUCT-UX.md
Die Demo-UI ist Streamlit. Die Produkt-UI ist SPEZIFIZIERT, nicht dieses MVP.
Vor Produktionsbehauptungen: FINAL-REVIEW Pre-Scale-Checkliste
Dokumentation
Dokumentation | Warum öffnen |
Durchsuchbares menschliches Wiki — hier starten | |
Screenshots von verify, CLI, Streamlit | |
Für wen die Demo gedacht ist | |
Produkt-UI-Backlog (SPEZIFIZIERT) | |
Erster Durchlauf — | |
Installieren, MCP, Umgebungsvariablen | |
Schritt-für-Schritt-Beweis | |
Streamlit Gov / Bestellungen | |
Optionale lokale Ollama / OpenAI-kompatible Erkenntnisse | |
DuckDB → GCP | |
Zitate + Beweismatrix | |
Was jeder Test beweist | |
Vollständiger Index nach Persona |
Auch: HOW-IT-WORKS · WHY · White Paper
Teilen und präsentieren
Open Source: https://github.com/khaosans/operator-etl — klonen und make e2e ausführen.
Für Interviews, LinkedIn oder Vorschläge fügen Sie PDFs aus docs/share/ bei (Einseiter, Whitepaper, Folien):
make share # regenerates docs/share/latest/ after e2eMitwirken · Lizenz · Sicherheit
Lizenziert unter Apache License 2.0. Die Beispieldaten sind synthetisch — committen Sie keine echten FOIA-Datensätze.
docs/RELEASING.md — sichere Updates und Abhängigkeits-Workflow
Issues und PRs sind willkommen.
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