Exosfera — qué derivó de los pioneros (plan basado en el grafo)

Contexto: datastori-es (grafo personas/conceptos/términos, todo estático) + astro-starter-template (un knowledge-os: grafo tipado nodos+edges, cuyo README ya deja “schema-ready, not implemented”: GitHub, arXiv/OpenAlex, Zotero, Ollama).

Objetivo

Capa exterior (exósfera): artefactos que realmente derivaron de cada pionero (papers, libros, herramientas, newsletters, posts), conectados al grafo con edges tipados y procedencia verificable. Responde “¿de qué habló X y qué quedó en el mundo?“.

Modelo de datos (basado en el grafo knowledge-os)

  • person (ya existe: 143 invitados + hosts).
  • Nuevos kind: paper, book, tool, newsletter, x-post.
  • Edges tipados (vocab cerrado del knowledge-os):
    • person --cites--> paper/book (provenance: la obra es de/deriva de la persona)
    • person --implements--> tool (d3, vega-lite, ggplot2…)
    • person --applies--> newsletter/x-post (amplifica/divulga)
  • Derivations del knowledge-os (backlinks, rutas, debt) aplican sin cambios.

Fuentes y estado

FuenteQué aportaEstado
OpenAlexpapers+libros + citaciones (el señal “qué derivó”)HECHO: 37 pioneros → data/derived-works.json
arXivpreprints por autorpendiente (key-free)
GitHubtools/repospendiente (key-free, rate-limited)
Libros (Manning/O’Reilly, syllabi)seed curadopendiente
Substack / Mediumnewsletters / postspendiente (seed curado)
X (twitterapi.io)perfiles + tweets recientes (presencia viva)en curso

Desambiguación (el riesgo real, NO ignorar)

La búsqueda por nombre aterriza en homónimos. Ya verificados a mano:

  • Jeff Heer → id OpenAlex A5090570042 (no el de 2 obras)
  • Enrico Bertini → A5102923390 (NO A5059742070 = biólogo italiano de 1253 obras)
  • Manuel Lima → OpenAlex devuelve un biólogo de mejillones → va a seed curado de libros
  • Scott Murray → médico homónimo → seed curado
  • X: enricobertini devuelve un homónimo (descripción “lifestream”) → validar handles. Regla: overrides manuales + revisión humana para los top-N; jamás confiar ciego.

Integración final

  1. Anillo exterior en el grafo de datastori-es (obras conectadas a personas).
  2. O exportar a knowledge-os como nodos .md con edges tipados (el template ya valida integridad referencial en build).

Grafo combinado (HECHO: combinado.html + combinado.js)

Un solo grafo con las 4 capas en anillos concéntricos: personas (centro) → conceptos (r=0.30) → términos (r=0.42) → obras derivadas (r=0.55, exósfera). 286 nodos (145 personas + 22 conceptos + 49 términos + 70 obras = top-2 por pionero). Edges: host-guest, co-apariciones, persona↔concepto, concepto↔término, persona↔obra. Color por capa (persona = año, concepto = violeta, término = teal, obra = ámbar por citas). Layout: repulsión intra-capa + anillo por tipo + pull angular hacia el centroide de sus vecinos (una obra se pega a su autor, un término a su concepto). 2 pioneros sin match exacto en guests (nombres con variantes).

API X (twitterapi.io)

Key: TWITTER_API_KEY en ~/Downloads/yt-extract/.env (10K créditos bonus). Auth: header X-API-Key. Base https://api.twitterapi.io. Endpoints vistos: /twitter/user/info?userName=X. Rate-limit 429 → backoff obligatorio.