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>
2.2 KiB
2.2 KiB
id, title, status, priority, created, depends_on
| id | title | status | priority | created | depends_on | ||
|---|---|---|---|---|---|---|---|
| 0030 | Macro "Deep enrich" + enricher expand_domain | pending | medium | 2026-05-01 |
|
Objetivo
Encadenar varios enrichers con un solo click. Cubre dos flujos:
- Deep enrich Webpage: sobre un nodo Webpage, ejecuta en orden
fetch_webpage(si no fetched aun) →extract_domain→extract_links→extract_text_entities. Cuatro jobs separados, en cadena. - Expand domain: sobre un nodo Domain, fetch homepage + 1 nivel de links + extraccion de entidades sobre cada pagina. Util para "dame todo lo que sepas de este dominio en un click".
Implementacion
Macro Deep enrich (no es un enricher Python — es UI + orquestacion en C++)
- Boton/menu item "Deep enrich" en el context menu del nodo Webpage.
- Encolar 4 jobs con dependencias: cada job tiene
depends_on_job_id. - Worker pool respeta dependencias: si el job tiene depends_on y el
predecesor no esta
done, lo deja en cola. - Anadir columna a tabla
jobs:depends_on_job_id TEXT.
Enricher expand_domain
applies_to: [Domain]
params:
- { name: max_pages, type: int, default: 5 }
- { name: deep, type: bool, default: false } # si true, deep enrich cada pagina
- run.py:
- Fetch
https://<domain>/yhttp://<domain>/(probando ambos esquemas). - Crea Webpage homepage + relacion
HOMEPAGE_OFdesde Domain. - Si
deep, encola un jobextract_text_entitiespor pagina via un endpoint local de control (out of scope v1) o emite un campo especialchained_jobs: [...]que el worker C++ encola. - Decision: v1 solo crea las paginas. La cadena con extract_* se puede hacer manualmente desde la UI o esperar a un sistema de chained jobs decente.
- Fetch
Definicion de hecho
- Click derecho en Webpage → "Deep enrich" → 4 jobs en cadena visibles en panel Jobs. Al terminar el ultimo, el grafo tiene domain + links + persons/orgs/etc.
- Click derecho en Domain → "Expand domain" → Webpage homepage aparece conectada al Domain.
- Cancelar el job intermedio cancela en cascada los que dependen.
Out of scope v1
- Cron / repeat schedule de enrichers.
- Progress agregado de la cadena (cada job mantiene su progress propio).