Files
graph_explorer/issues/0022-nl-graph-query.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.4 KiB

id, title, status, priority, created, depends_on
id title status priority created depends_on
0022 Consulta del grafo en lenguaje natural via LLM pending medium 2026-05-01
0001

Objetivo

Input de texto ("personas relacionadas con BancoX que aparecen en mas de 3 documentos") -> LLM traduce a SQL sobre operations.db o a un set de filtros sobre el grafo en memoria -> resalta el subgrafo resultante.

Complementa el chat de 0001 con un modo "consulta puntual" sin conversacion: input -> resultado destacado, sin chat history.

Alcance

  • Tool-use ya disponible en 0001 (query_entities, query_relations).
  • Modo "highlight": en lugar de devolver texto, el LLM emite un set de ids -> la UI dibuja el subgrafo con resaltado y oscurece el resto.
  • Boton "save as filter" -> persiste como vista nombrada (issue 0023).
  • Historial de queries recientes en un dropdown.
  • Indicador de query en curso (puede tardar varios segundos).

Decisiones

  • ¿Mismo cliente HTTP/Anthropic que 0001 o duplicado? Reusar.
  • Modelo por defecto el mismo que 0001 (claude-sonnet-4-6).
  • Query schema (que campos ve el LLM) dado por types_registry para que aprenda los nombres de campos del proyecto.

Definicion de hecho

  • "personas con mas de 5 conexiones" devuelve subgrafo correcto.
  • "documentos publicados en 2025" funciona si la metadata tiene fechas.
  • Fallo silencioso (LLM mal interpreta) -> mensaje claro y opcion de reintentar refinando.
  • Query guardada como filtro reutilizable.