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>
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
---
|
||||
id: 0018
|
||||
title: Transforms automatizadas tipo Maltego con browser headless
|
||||
status: pending
|
||||
priority: low
|
||||
created: 2026-05-01
|
||||
depends_on: [0012]
|
||||
---
|
||||
|
||||
## Objetivo
|
||||
|
||||
Dada una entidad seleccionada, ejecutar un script (Playwright/Puppeteer)
|
||||
que enriquece el grafo con datos derivados — equivalente a las
|
||||
"transforms" de Maltego. Es la pieza que diferencia frente a alternativas
|
||||
mas estaticas.
|
||||
|
||||
## Ejemplos para banking/OSINT espanol
|
||||
|
||||
- Persona/empresa -> consulta BORME, registro mercantil, axesor.
|
||||
- Dominio -> whois, DNS records, certificados (crt.sh).
|
||||
- Email -> haveibeenpwned, hunter.io.
|
||||
- Telefono -> truecaller-like.
|
||||
- Empresa -> LinkedIn search publico, opencorporates.
|
||||
|
||||
## Alcance
|
||||
|
||||
- Cada transform es un pipeline del registry con tag `transform` y un
|
||||
contrato fijo: input = `{id, type, metadata}`, output = `{entities,
|
||||
relations}`.
|
||||
- Registro de transforms aplicables por entity_type.
|
||||
- UI: context menu sobre nodo -> "Run transform..." -> lista filtrada
|
||||
por type aplicable -> ejecuta async -> notifica al terminar -> preview
|
||||
antes de commit.
|
||||
- Sandbox: cada transform en proceso aparte, timeout configurable.
|
||||
|
||||
## Riesgos y mitigaciones
|
||||
|
||||
- Los scrapers se rompen cuando los sitios cambian -> mantener una suite
|
||||
de "transform health checks" automaticos (cron ligero) que avisa de
|
||||
fallos antes de que el usuario los descubra en vivo.
|
||||
- Cumplimiento legal y robots.txt -> documentar en cada transform su
|
||||
fuente, politica y ToS.
|
||||
- Rate limiting -> cooldown por host configurable.
|
||||
|
||||
## Definicion de hecho
|
||||
|
||||
- Selecciono un dominio en el grafo, lanzo "whois", aparecen registrant,
|
||||
registrar y nameservers como nodos vinculados con relaciones tipadas.
|
||||
- Un transform que falla loguea el error y no afecta a otros que
|
||||
esten corriendo en paralelo.
|
||||
- La lista de transforms aplicables a una entidad se computa segun su
|
||||
type (no se ofrecen los inaplicables).
|
||||
- Health check cron escribe a `proposals` cuando un transform empieza a
|
||||
fallar repetidamente.
|
||||
Reference in New Issue
Block a user