Skip to main content
Glama
khaosans

Operator ETL

by khaosans

Operator ETL

Агентный сбор данных для FOIA и публичных комментариев — детерминированное медальонное хранилище, оркестрация LangGraph, поверхность инструментов MCP, плоскость политик PII.

CI License

Python и SQL решают, какие данные существуют. Агенты оркестрируют в типизированных границах. Тесты доказывают инварианты — для MVP-демо не требуется ключ API LLM.

Создано для государственных учреждений и регулируемых органов, которые должны принимать публичные комментарии, обнаруживать PII перед публикацией, карантинировать плохие строки и создавать защищаемые инсайты (каждое число проверено по хранилищу).


Документация

Вики (поиск): https://khaosans.github.io/operator-etl/

Начать отсюда

Ссылка

Посмотреть в работе

Визуальный тур (скриншоты)

Первый запуск

QUICKSTART./scripts/verify.sh

Для кого это

PERSONAS

UI продукта (позже)

PRODUCT-UX — СПЕЦИФИЦИРОВАН, не эта демо


Проверка одной командой

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

Устанавливает uv, если отсутствует, синхронизирует зависимости, запускает полный шлюз проверки. Успех завершается OPERATOR_ETL_VERIFY=PASS.

Ожидается: 41 тест pytest пройден, демо FOIA выводит status=complete и silver=10. Полный набор скриншотов: docs/TOUR.md.

Дашборд Gov / FOIA

Вкладка демо Orders

Инсайт шаблона 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

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 никогда не попадает в неограниченные инструменты; критик отклоняет числа инсайтов, которых нет в 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, зашифрованное хранилище, отказоустойчивость перед инсайтом. Хранилище никогда не раскрывается через MCP.

Управление

Конвейер LangGraph, инструменты из белого списка MCP, критик проверяет каждое число в черновике инсайта.

Подробности: docs/HOW-IT-WORKS.md · okf/models/three-planes.md


Почему не отдать чат-боту ваше хранилище?

Доверие и доказательства

Вопрос

Ответ

Работает ли локально?

make e2e — проверка OKF, 41 тест pytest, демо FOIA на свежем хранилище

Что доказывает CI?

Тот же шлюз при каждом пуше (значок выше)

Что не доказано в CI?

Развертывание в живом GCP, Presidio PII, инсайты, сгенерированные LLM — см. честный аудит

Матрица доказательств: docs/FOUNDATIONS.md · Полный аудит: docs/FINAL-REVIEW.md


Что вы только что доказали

Метрика

Ожидаемое

Примеры комментариев

12 (реестры EPA/FCC)

Silver (валидные)

10

В карантине

2

Статус графа

complete

Критик

пройдено

Подробности: okf/models/mvp-demo.md


Инженерные компромиссы

Решение

Мы выбрали

Преимущество

Стоимость

Когда менять

Локальное хранилище

DuckDB

Доказательство без инфраструктуры на ноутбуке

Не мультитенантный

Этап L3 BigQuery — SCALING.md

Обнаружение PII

Regex MVP

Просто, тестируемо, без зависимостей ML

Пропускает имена, адреса

Presidio для продакшена

Генерация инсайтов

Шаблон + критик

Нет ключа API; детерминированно

Меньше гибкости повествования

Узел LLM, когда агентство одобрит

Доступ агентов к данным

Белый список MCP (3 инструмента)

Минимальные привилегии

Нет ad-hoc исследования SQL

Не ослаблять для продакшена FOIA

Сбои качества

Закрытие при сбое

Надежные KPI

Блокирует инсайты до исправления

Избегать предупреждений и показа баннеров

Полная матрица доказательств: docs/FOUNDATIONS.md


Для кого это

Роль

Начать отсюда

Сотрудник FOIA

Руководство FOIATOUR · PERSONAS

Инженер данных

GETTING-STARTEDSCALING

Архитектор / рецензент

WHYFOUNDATIONSmake 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 (41 тест)

uv run etl-graph --source public_comments

Агентный конвейер FOIA

uv run etl dashboard

Streamlit — вкладки Gov + Orders

uv run operator-etl-mcp

MCP-сервер для агентов Cursor

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 · Качество с закрытием при сбое · 41 тест + CI

Не включено: Продакшен Presidio · Адаптер Regulations.gov · живой GCP/BQ E2E · UX сотрудника продакшена (адаптивный, стриминг, gen UI) — docs/PRODUCT-UX.md

Демо-UI — Streamlit. UX продукта СПЕЦИФИЦИРОВАН, не этот MVP.

Перед заявлениями о продакшене: Чек-лист перед масштабированием FINAL-REVIEW


Документация

Документ

Зачем открывать

Вики (GitHub Pages)

Поисковая человеческая вики — начните здесь

docs/TOUR.md

Скриншоты verify, CLI, Streamlit

docs/PERSONAS.md

Для кого эта демо

docs/PRODUCT-UX.md

Бэклог UI продукта (СПЕЦИФИЦИРОВАН)

docs/QUICKSTART.md

Первый запуск./scripts/verify.sh

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 или предложений прикрепляйте PDF-файлы из docs/share/ (одностраничник, технический документ, слайды):

make share   # regenerates docs/share/latest/ after e2e

Участие · Лицензия · Безопасность

Лицензия Apache License 2.0. Примеры данных синтетические — не загружайте реальные записи FOIA.

Приветствуются Issues и PR.

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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.

View all MCP Connectors

Latest Blog Posts

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