Files
graph_explorer/issues/0015-drag-drop-ingest.md
egutierrez 9042110ea2 docs(issues): plan enrichers asincronos + recoleccion web (0026-0030)
Cinco issues que componen el plan:
- 0026: sistema de jobs (infra, contrato wire)
- 0027: tipo Webpage + cache de documentos
- 0028: enricher fetch_webpage (MVP end-to-end)
- 0028b: enrichers extract_domain / extract_links / extract_text_entities
- 0029: variantes CDP (Chrome headless, screenshot)
- 0030: macro "Deep enrich" + expand_domain

Tambien anade los issues previos 0012-0025 que estaban untracked.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 18:24:13 +02:00

1.5 KiB

id, title, status, priority, created
id title status priority created
0015 Drag & drop de archivos sobre el viewport para ingesta pending medium 2026-05-01

Objetivo

Soltar archivos sobre la ventana de graph_explorer lanza el extractor adecuado segun extension y mete las entidades en el grafo, sin abrir modales ni navegar menus.

Tipos soportados

  • .pdf -> texto + extract_graph_hybrid.
  • .eml / .msg -> headers (from/to/cc) como entidades persona/email + cuerpo via extract.
  • .csv / .parquet -> ingesta como tabla DuckDB (encadena con 0011).
  • .json / .jsonl -> si tiene shape entity/relation, importar; si no, extract sobre stringify.
  • .png / .jpg -> OCR (issue 0019) y luego extract.
  • .txt / .md -> extract directo.

Alcance

  • Hook de drop de ImGui -> dispatcher por mime/extension -> pipeline correspondiente -> preview con seleccion antes de commit (igual UX que 0013).
  • Indicador visual de zona drop activa cuando hay drag sobre la ventana.
  • Multiples archivos en un drop: procesar en cola, mostrar progreso.

Decisiones

  • Dispatcher reutiliza /ingest/file del endpoint 0012 si esta vivo, o resuelve localmente como fallback.
  • Limite de tamaño por archivo configurable (default 50 MB) para evitar bloqueos en PDFs gigantes.

Definicion de hecho

  • Suelto un PDF en castellano sobre el canvas, en menos de 30 s veo preview con entidades correctas.
  • Suelto un .eml y aparecen from/to como nodos persona conectados por una relacion mailed.
  • Cancelar durante el preview no toca operations.db.