Files
graph_explorer/issues/0013-paste-extract-panel.md
T
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

46 lines
1.8 KiB
Markdown

---
id: 0013
title: Panel "Paste & Extract" — texto libre a entidades con extract_graph_hybrid
status: pending
priority: high
created: 2026-05-01
---
## Objetivo
Panel dockeable dentro de `graph_explorer` con un textarea grande. Pegas
texto (articulo, mensaje, transcripcion, documento), pulsas Extract, corre
el pipeline `extract_graph_hybrid` (regex + GLiNER + GLiREL + LLM fallback)
y muestra preview de entidades y relaciones detectadas. El usuario marca
cuales aceptar antes de commit a `operations.db`.
Es el quick-win de mas alto valor: aprovecha el pipeline ya mergeado
(commit 1a353878) y elimina la friccion de tipear datos a mano.
## Alcance
- Panel "Extract" con textarea, combo de proyecto/tipos esperados, boton
"Extract".
- Lanza el pipeline en hilo aparte (es Python — invocar via subprocess
o el endpoint HTTP de 0012 con `commit=false`).
- Tabla de entidades propuestas: checkbox, type, name, source span. Tabla
de relaciones propuestas: from, kind, to, checkbox.
- Edicion inline de tipo/nombre antes de commit.
- "Apply selected" -> escribe a operations.db, refresca grafo, posiciona
los nuevos nodos cerca del centro o vinculados al ultimo seleccionado.
- Dedupe: si una entidad propuesta ya existe (mismo type+name) reusar el
id en lugar de duplicar.
## Decisiones
- Invocacion del pipeline: via 0012 si esta disponible, o subprocess
directo como fallback (para que el panel funcione sin levantar HTTP).
- Resaltado de spans en el textarea (v2 — primera version solo lista).
## Definicion de hecho
- Pego un parrafo en castellano sobre una empresa y un directivo, pulso
Extract, veo entidades correctas tipadas y la relacion entre ambas.
- Apply crea los nodos en el grafo en menos de 1 s tras click.
- Re-extraer el mismo texto no duplica entidades (dedupe funciona).