9042110ea2
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>
1.9 KiB
1.9 KiB
id, title, status, priority, created, depends_on
| id | title | status | priority | created | depends_on | |
|---|---|---|---|---|---|---|
| 0018 | Transforms automatizadas tipo Maltego con browser headless | pending | low | 2026-05-01 |
|
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
transformy 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
proposalscuando un transform empieza a fallar repetidamente.