diff --git a/INFO/DOCS/capturas/coconews.png b/INFO/DOCS/capturas/coconews.png
deleted file mode 100644
index 36fa2181..00000000
Binary files a/INFO/DOCS/capturas/coconews.png and /dev/null differ
diff --git a/INFO/DOCS/capturas/grafo-eco-corp-disperso.png b/INFO/DOCS/capturas/grafo-eco-corp-disperso.png
deleted file mode 100644
index ab0fa18a..00000000
Binary files a/INFO/DOCS/capturas/grafo-eco-corp-disperso.png and /dev/null differ
diff --git a/INFO/DOCS/capturas/grafo-eco-corp.png b/INFO/DOCS/capturas/grafo-eco-corp.png
deleted file mode 100644
index c6a354c4..00000000
Binary files a/INFO/DOCS/capturas/grafo-eco-corp.png and /dev/null differ
diff --git a/INFO/DOCS/capturas/grafo-glob-war.png b/INFO/DOCS/capturas/grafo-glob-war.png
deleted file mode 100644
index aa803a04..00000000
Binary files a/INFO/DOCS/capturas/grafo-glob-war.png and /dev/null differ
diff --git a/INFO/DOCS/capturas/grafo-popl-up.png b/INFO/DOCS/capturas/grafo-popl-up.png
deleted file mode 100644
index 963f3edd..00000000
Binary files a/INFO/DOCS/capturas/grafo-popl-up.png and /dev/null differ
diff --git a/INFO/DOCS/capturas/home.png b/INFO/DOCS/capturas/home.png
deleted file mode 100644
index f5c6ac7f..00000000
Binary files a/INFO/DOCS/capturas/home.png and /dev/null differ
diff --git a/INFO/DOCS/capturas/stats.png b/INFO/DOCS/capturas/stats.png
deleted file mode 100644
index 9dbf2f7c..00000000
Binary files a/INFO/DOCS/capturas/stats.png and /dev/null differ
diff --git a/INFO/DOCS/diagramas/fuentes-y-clasificacion.svg b/INFO/DOCS/diagramas/fuentes-y-clasificacion.svg
deleted file mode 100644
index 9ab32c6e..00000000
--- a/INFO/DOCS/diagramas/fuentes-y-clasificacion.svg
+++ /dev/null
@@ -1,149 +0,0 @@
-
\ No newline at end of file
diff --git a/INFO/DOCS/diagramas/gen_fuentes_svg.py b/INFO/DOCS/diagramas/gen_fuentes_svg.py
deleted file mode 100644
index 16286272..00000000
--- a/INFO/DOCS/diagramas/gen_fuentes_svg.py
+++ /dev/null
@@ -1,188 +0,0 @@
-#!/usr/bin/env python3
-# Genera el diagrama de fuentes y clasificacion de UP-LEAKS.
-import io, sys
-
-W = 1500
-NEON, NEON2 = "#39ff14", "#7cff5a"
-BG, PANEL = "#050505", "#0d0f0d"
-GRIS, GRIS2 = "#8a938a", "#5a625a"
-CIAN, AMBAR, MAGENTA, ROJO = "#3ad6ff", "#ffb020", "#ff5ea8", "#ff4d4d"
-
-# color por tema, el mismo de la web
-TEMAS = [
- ("GLOB-WAR", "guerra global", "#ff3b3b", 49,
- ["Internacional", "Asia", "Oriente Medio", "Defensa", "Geopolítica",
- "Afganistán", "Europa", "Conflictos", "Rusia", "Humanitario"]),
- ("INT-SEC", "inteligencia y seguridad", "#4a6bff", 19,
- ["Ciberseguridad", "Análisis", "Defensa", "Inteligencia",
- "Internacional", "Europa", "España", "EEUU"]),
- ("CLIMATE", "cambio climático", "#5fe36a", 120,
- ["Internacional", "EEUU", "Ciencia", "Biodiversidad", "Energía",
- "Asia", "Tecnología", "ONG", "Salud", "España"]),
- ("ECO-CORP", "economía y corporaciones", "#ffe600", 24,
- ["Internacional", "Tecnología", "EEUU", "España",
- "Gestión", "Corporaciones", "Comercio"]),
- ("POPL-UP", "demografía y sociedad", "#ff9b30", 24,
- ["España", "Internacional", "EEUU", "Salud", "Derechos Humanos",
- "Política", "Migración", "Europa", "Reino Unido"]),
-]
-
-FUENTES = [
- ("236 feeds RSS", CIAN, ["prensa de 5 idiomas", "agencias y cabeceras",
- "medios locales y de exilio"]),
- ("API de Wikipedia", CIAN, ["28.266 artículos", "por tema y palabra clave",
- "el contexto histórico"]),
- ("WikiLeaks", CIAN, ["36.182 documentos", "archivo completo por torrent",
- "cables, correos, informes"]),
- ("Imágenes", CIAN, ["og:image de cada artículo", "fotos de Wikipedia",
- "descritas con Qwen3-VL"]),
-]
-
-FILTROS = [
- ("tema", "la vista que eliges: GLOB-WAR, INT-SEC…"),
- ("subtema", "desplegable, hereda del feed"),
- ("fecha", "Semanal (7 días) o Todas"),
- ("palabra clave","busca dentro del texto"),
- ("nodos", "cuántos traer, hasta 500"),
- ("% similitud", "umbral mínimo para dibujar una arista"),
- ("país / región","solo en coconews"),
- ("entidad", "persona u organización, vía NER"),
-]
-
-o = []
-a = o.append
-
-
-def caja(x, y, w, h, color, ancho=1.5, relleno=PANEL, op=1.0):
- a(f'')
-
-
-def txt(x, y, s, color=GRIS, size=12, anchor="start", peso="normal", ls=0):
- a(f'{s}')
-
-
-# ── cabecera ──────────────────────────────────────────────────────────────
-cuerpo = []
-a_real = a
-o_head = []
-
-Y = 130
-# FUENTES
-fw, fgap = 340, 26
-fx0 = (W - (4 * fw + 3 * fgap)) / 2
-fh = 118
-
-# CLASIFICACION
-Y2 = Y + fh + 96
-h_clas = 128
-
-# TEMAS
-Y3 = Y2 + h_clas + 86
-tw, tgap = 276, 20
-tx0 = (W - (5 * tw + 4 * tgap)) / 2
-th = 44 + 10 * 20 + 16
-
-# FILTROS
-Y4 = Y3 + th + 108
-h_filt = 44 + 4 * 30 + 16
-
-H = Y4 + h_filt + 54
-
-a(f'')
-
-io.open(sys.argv[1], 'w', encoding='utf-8').write('\n'.join(o))
-print("escrito", sys.argv[1], "| alto:", H)
diff --git a/README.md b/README.md
index 763377c2..e2e2b1f9 100644
--- a/README.md
+++ b/README.md
@@ -3,14 +3,12 @@
Cruza lo que publica la prensa con lo que dicen los documentos filtrados, y lo dibuja
como un grafo que se puede recorrer.
-**[upleaks.org](https://upleaks.org)** · **[Wiki](https://gitea.laenre.net/hacklab/FLUJOS/wiki)** — arquitectura, fuentes, instalación y recorrido por la interfaz
-
----
-
-## La idea
+En marcha: **[upleaks.org](https://upleaks.org)**

+## La idea
+
Cuatro agencias —Reuters, AFP, AP, EFE— abastecen a casi toda la prensa del planeta.
Abres diez periódicos distintos y lees el mismo despacho diez veces. Esa repetición
parece pluralidad y no lo es.
@@ -23,88 +21,16 @@ lo mismo.
El resultado no es un buscador. Es un mapa donde se ve qué se cuenta, quién lo cuenta y
qué había escrito sobre eso antes de que se contara.
+## Qué hay dentro ahora mismo
+
| | |
|---|---|
| Noticias | 98.110 de 236 feeds en 5 idiomas |
| Artículos de Wikipedia | 28.266 |
| Documentos de WikiLeaks | 36.182 |
| Fragmentos vectorizados | 531.306 |
-| Entidades extraídas | 76.857 |
| Aristas del grafo | 115.035.059 |
----
-
-## Cómo se ve
-
-### La portada
-
-
-
-Cinco temáticas, cada una con su color, y ese color se mantiene después en el grafo.
-Arriba: coconews, el buzón de periodistas y las estadísticas. Abajo, los cuatro canales
-del proyecto, incluido el servicio Tor.
-
-### El grafo
-
-
-
-Cada punto es un documento y cada línea dice que dos documentos hablan de lo mismo. Lo que
-hay que buscar es una arista entre una noticia y un leak: algo que se publicó hoy y un
-documento que ya lo decía.
-
-A la izquierda los parámetros —ventana de fechas, número de nodos, umbral de similitud,
-palabra clave, subtemática—. Arriba a la derecha, **Semanal** (últimos 7 días, por defecto)
-o **Todas** (una muestra de todo el archivo).
-
-
-
-Con el umbral bajo, el grafo se llena y se ve la estructura general. Las miniaturas son
-noticias con foto, servidas por un proxy interno: Three.js no puede texturizar imágenes de
-otro dominio sin CORS, y casi ningún periódico las manda.
-
-
-
-Con el umbral alto, casi todo se desconecta y solo sobrevive un núcleo. Esta es la vista
-que sirve para buscar de verdad: el grafo lleno es para hacerse una idea, el grafo pelado
-es donde aparece lo que está relacionado sin lugar a dudas.
-
-### Coconews
-
-
-
-Las noticias en crudo, sin grafo. Filtros por tema, país o región y entidad, y en el
-lateral el reparto en vivo del corpus por temática y por idioma — la forma más rápida de
-ver que no está equilibrado y en qué dirección.
-
-Los contadores de arriba son el termómetro de la cadena de workers: si el número de
-traducidas o de procesadas por NER se descuelga del total, es que uno se ha caído.
-
-### Estadísticas
-
-
-
-El estado del corpus, recalculado cada 6 horas y servido cacheado — contar 115 millones de
-aristas en cada carga de página no es razonable.
-
-Ese `sim. promedio ~10.6%` resume por qué hubo que rehacer el motor de correlación: son 110
-millones de pares con un parecido medio del 10%, así que casi ninguno significa nada.
-
-Recorrido completo, número a número, en la
-[wiki](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Recorrido-por-la-interfaz).
-
----
-
-## De dónde salen los datos
-
-
-
-Cuatro fuentes. La etiqueta de tema y subtema no se calcula del texto: viaja escrita en el
-feed y el artículo la hereda al entrar. Es una decisión editorial, no estadística —
-auditable, y corregible editando una fila del catálogo.
-
-Más detalle en
-[De dónde salen los datos](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Fuentes-y-clasificacion).
-
## Arquitectura

@@ -120,7 +46,8 @@ estaba. El estado vive en MongoDB, no en un orquestador.
- `coconews/workers/embedder.py` — vectoriza con MiniLM multilingüe (384 dimensiones)
- `FLUJOS_DATOS/COMPARACIONES/motor_comparacion.py` — correlación semántica noticia↔leak
----
+La documentación técnica de cada pieza está en [`INFO/DOCS/CONTEXT/`](INFO/DOCS/CONTEXT/),
+y la [wiki](https://gitea.laenre.net/hacklab/FLUJOS/wiki) cuenta el conjunto.
## Requisitos
@@ -173,9 +100,6 @@ python3 FLUJOS_DATOS/COMPARACIONES/motor_comparacion.py --salida comparaciones_v
El motor de correlación acepta `--dry-run` para calibrar umbrales antes de escribir nada.
-Guía completa en la
-[wiki](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Instalacion).
-
## Como servicio
Las unidades de `coconews/systemd/` son plantillas. El script las rellena con tu ruta,
@@ -201,7 +125,7 @@ FLUJOS/
│ ├── TORRENTS/ documentos de WikiLeaks
│ ├── COMPARACIONES/ correlación semántica
│ └── IMAGENES/ scraper y análisis de imágenes
-└── INFO/DOCS/ documentación técnica, diagramas y capturas
+└── INFO/DOCS/ documentación técnica y diagramas
```
## Envíos
@@ -209,23 +133,6 @@ FLUJOS/
Hay un buzón para periodistas y filtradores en `/journalist`. Los envíos se guardan fuera
del webroot, nunca se sirven como estáticos y no se registra la IP de quien envía.
-## Documentación
-
-| | |
-|---|---|
-| [De dónde salen los datos](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Fuentes-y-clasificacion) | Las fuentes, cómo se clasifican y qué puedes filtrar |
-| [Recorrido por la interfaz](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Recorrido-por-la-interfaz) | Pantalla por pantalla, qué es cada número y cada control |
-| [Arquitectura](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Arquitectura) | Los cinco procesos y cómo se coordinan sin hablarse |
-| [Scrapeo de noticias](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Scrapeo-de-noticias) | Los 236 feeds, el ciclo de ingesta, traducción y entidades |
-| [Wikipedia y leaks](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Wikipedia-y-leaks) | El contexto histórico y el archivo de documentos |
-| [Correlación semántica](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Correlacion-semantica) | Cómo se decide que dos textos hablan de lo mismo |
-| [La visualización](https://gitea.laenre.net/hacklab/FLUJOS/wiki/La-visualizacion) | El grafo 3D y cómo leerlo |
-| [Instalación](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Instalacion) | Levantarlo desde cero |
-| [Linaje](https://gitea.laenre.net/hacklab/FLUJOS/wiki/Linaje) | Project PM, Barrett Brown, WikiLeaks |
-
-La documentación técnica de cada pieza está también en
-[`INFO/DOCS/CONTEXT/`](INFO/DOCS/CONTEXT/).
-
---
> No basta con hablar de cambio.