Operator ETL
{"type": "text"}# Operador ETL
Ingesta de datos agéntica para solicitudes FOIA y comentarios públicos — almacén de datos determinista en medallón, orquestación con LangGraph, superficie de herramientas MCP, plano de políticas PII.
Python y SQL deciden qué datos existen. Los agentes orquestan dentro de límites tipados. Las pruebas demuestran los invariantes — no se necesita clave API de LLM para la demo MVP.
Construido para agencias gubernamentales y organismos regulados que deben recibir comentarios públicos, detectar PII antes de la publicación, poner en cuarentena filas incorrectas y producir información defendible (cada número verificado contra el almacén).
Documentación
Wiki (buscable): https://khaosans.github.io/operator-etl/
Empieza aquí | Enlace |
Verlo en acción | Tour visual (capturas de pantalla) |
Primera ejecución | INICIO RÁPIDO — |
Aprende lo que creamos | |
Para quién es | |
UI del producto (posterior) | PRODUCT-UX — ESPECIFICADO, no esta demo |
Related MCP server: MES Document MCP
Verificar en un comando
git clone https://github.com/khaosans/operator-etl.git
cd operator-etl
./scripts/verify.shInstala uv si falta, sincroniza dependencias, ejecuta la puerta de validación completa. El éxito termina con OPERATOR_ETL_VERIFY=PASS.
Esperado: 51 pruebas pytest aprobadas, demo FOIA imprime status=complete y silver=10. Conjunto completo de capturas: docs/TOUR.md.



flowchart LR
Verify[verify.sh] --> UV[uv sync]
UV --> E2E[e2e gate]
E2E --> Pass[OPERATOR_ETL_VERIFY=PASS]¿Ya tienes uv? make e2e · Detalles: docs/QUICKSTART.md · Paso a paso: docs/WALKTHROUGH.md
Instantáneas publicadas son etiquetas git (no cada fusión). Después de que exista un lanzamiento: GitHub Releases (ruedas), ghcr.io/khaosans/operator-etl:<version>, GitHub Packages operator-etl. Proceso: docs/VERSIONING.md. La wiki siempre sigue 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 separa el ETL determinista de los agentes acotados. La PII nunca llega a herramientas sin restricciones; el crítico rechaza números de información que no estén en oro; bronce te da un registro de auditoría inmutable.
Inmersión profunda: docs/WHY.md · Flujo de trabajo de la agencia: docs/FOIA-Public-Comments-Guide.md
Cómo funciona — tres planos
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]
endPlano | Rol |
Datos | Bronce (inmutable) → plata (validado) → oro (marts SQL) + cuarentena. Python y SQL ejecutan; sin LLM en filas sin procesar. |
Política | Escaneo de PII, bóveda cifrada, cierre ante fallo antes de la información. La bóveda nunca se expone a través de MCP. |
Control | Pipeline LangGraph, herramientas MCP en lista blanca, crítico verifica cada número en el borrador de información. |
Detalles: docs/HOW-IT-WORKS.md · okf/models/three-planes.md
¿Por qué no darle el almacén al chatbot?
Confianza y prueba
Pregunta | Respuesta |
¿Funciona localmente? |
|
¿Qué prueba el CI? | La misma puerta en cada push (insignia arriba) |
¿Qué no se prueba en CI? | Despliegue en vivo en GCP, PII con Presidio, información generada por LLM — ver auditoría honesta |
Matriz de prueba: docs/FOUNDATIONS.md · Auditoría completa: docs/FINAL-REVIEW.md
Lo que acabas de probar
Métrica | Esperado |
Comentarios de muestra | 12 (expedientes EPA/FCC) |
Plata (válido) | 10 |
En cuarentena | 2 |
Estado del grafo |
|
Crítico | pass |
Detalles: okf/models/mvp-demo.md
Compensaciones de ingeniería
Decisión | Elegimos | Beneficio | Costo | Cuándo cambiar |
Almacén local | DuckDB | Prueba sin infraestructura en un portátil | No multiinquilino | Etapa L3 BigQuery — SCALING.md |
Detección de PII | MVP con Regex | Simple, comprobable, sin dependencias de ML | Omite nombres, direcciones | Presidio para producción |
Generación de información | Plantilla + crítico | Sin clave API; determinista | Menos flexibilidad narrativa | Nodo LLM cuando la agencia lo apruebe |
Acceso a datos del agente | Lista blanca MCP (3 herramientas) | Mínimo privilegio | Sin exploración SQL ad-hoc | No relajar para FOIA en producción |
Fallos de calidad | Cierre ante fallo | KPI confiables | Bloquea información hasta que se corrija | Evitar pancartas de advertencia y mostrar |
Matriz de prueba completa: docs/FOUNDATIONS.md
Para quién es esto
Rol | Empieza aquí |
Oficial FOIA | |
Ingeniero de datos | |
Arquitecto / revisor | POR QUÉ → FUNDAMENTOS → |
Agente de IA (MCP) | AGENTS.md · |
Escalera de adopción
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]Nivel | Acción | Documento |
0 — Probar |
| |
1 — Ejecutar localmente | MCP, panel de control | |
2 — Extender | Nueva fuente CSV | |
3 — Puesta en escena GCP | Terraform + Cloud Run | |
4 — Producción | Presidio, HITL, BQ en vivo, UX del producto |
Comandos comunes
Comando | Acción |
| Primera ejecución — instala uv si es necesario + puerta de validación completa |
| Igual que verify.sh |
| Puerta de validación MVP completa (OKF + pruebas + demo FOIA) |
| Solo demo FOIA |
| pytest (51 pruebas) |
| Pipeline agéntico FOIA |
| Streamlit — Pestañas de Gobierno y Pedidos |
| Servidor MCP para agentes Cursor |
| Regenerar paquete de intercambio PDF |
Ejecuta make help para todos los objetivos.
Arquitectura
Plano | Paquete | Estado |
Datos |
| IMPLEMENTADO |
Control |
| IMPLEMENTADO |
Política |
| IMPLEMENTADO |
MCP |
| IMPLEMENTADO |
GCP |
| PARCIAL |
Matriz viva: okf/models/implementation-status.md
Límites del alcance
Esta demo prueba: Pipeline FOIA local · Escaneo de PII · Límite MCP · Calidad de cierre ante fallo · 51 pruebas + CI
No incluido: Presidio de producción · Adaptador Regulations.gov · E2E GCP/BQ en vivo · UX de oficial de producción (responsiva, streaming, UI generativa) — docs/PRODUCT-UX.md
La UI de la demo es Streamlit. La UX del producto está ESPECIFICADA, no es este MVP.
Antes de afirmaciones de producción: Lista de verificación previa a la escala de REVISIÓN FINAL
Doc | Por qué abrirlo |
Wiki humano buscable — empieza aquí | |
Capturas de pantalla de verify, CLI, Streamlit | |
Para quién es la demo | |
Backlog de UI del producto (ESPECIFICADO) | |
Primera ejecución — | |
Problema, lo que construimos, por qué es útil | |
Medallion, planes, critic — Inglés + citas | |
Otras fuentes de datos — mantén planes, cambia el esquema | |
Riesgos residuales después de un verify verde | |
AI RMF / 600-1 / SP 800-122 — alineación, no certificación | |
Tarjetas de modelo y cuándo usar (Ollama vs OpenAI) | |
Instalación, MCP, variables de entorno | |
Prueba paso a paso | |
Streamlit Gov / Pedidos | |
Instala Ollama / insights compatibles con OpenAI | |
DuckDB → GCP | |
Citas + matriz de prueba | |
Qué prueba cada test | |
Índice completo por persona |
También: HOW-IT-WORKS · WHY · documento técnico
Compartir y presentar
Código abierto: https://github.com/khaosans/operator-etl — clona y ejecuta make e2e.
Para entrevistas, LinkedIn o propuestas, adjunta los PDFs de docs/share/ (resumen de una página, documento técnico, diapositivas):
make share # regenerates docs/share/latest/ after e2eContribución · Licencia · Seguridad
Licenciado bajo Apache License 2.0. Los datos de muestra son sintéticos — no confirmes registros FOIA reales.
docs/VERSIONING.md — las etiquetas publican; no sobrescribas una versión
docs/RELEASING.md — flujo de PR, cortar un release, Dependabot
Las Issues y PRs son bienvenidos.
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