Orquestador único + motor local (nef-silo → second-brain / finitud / surtido)
Fecha: 2026-09-27. Estado: hecho (local).
Relacionados: 2026-09-27-repaso-motores-unificacion.md, 2026-09-22-adr-engine-unico.md,
2026-09-22-linode-caido-permanentemente.md, [CREDENCIAL].md.
Decisión
Un solo orquestador (~/nef/orquestador/orquestador.py) une el pipeline:
- motor:
nef-silo(captura RSS·X·TG vía RSSHub →silo.db→ export por perfil). - visualizador:
second-brain(Quartz garden → nodo.ws). - blog:
finitud(Zola) +in·finitud. - desk:
surtido(home/RSS/boletín) — consume el export. emdash(CMS Astro) queda fuera por ahora.
Por ahora local (no OCI/HF aún). ENGINE_EXPORT_URL apunta al archivo local; el
orquestador no cambia cuando el motor se mueva a OCI.
Qué se hizo
~/nef/orquestador/orquestador.py+README.md: comandosestado · capturar · exportar · render · todo · servir, con--dias/--only/--dry.capturarlevanta RSSHub (Dockerrsshub-silo) si falta.surtido/feed.py::generar_desde_engine: acepta archivo local (file://o ruta) además de URL → consumo sin servidor.- Corrida real de verificación (2026-09-27, local):
- captura: +747 nuevos, total silo 5163 (94 fuentes ok, 3 errores; X vía RSSHub local).
- export editorial: 600 items.
- surtido:
origen=engine, feed.json 600 · home.json 400 (7 temas). - second-brain: build ✓ 415 nodos. finitud/in·finitud:
zola build✓.
Pendientes
- Mover el motor a OCI free (
mx-queretaro-1): RSSHub sidecar + cron*/30+ export servido por Cloudflare; repuntarENGINE_EXPORT_URL. El orquestador no cambia. - Cablear X/anti-fomo como anotación por item en el motor (foco del repaso).
news-silo(clustering) ysocial-silo(ideas) como pasos locales opcionales.- emdash: retomar aparte.
NO
- No reintentar contra
[IP](muerto). No monorepo. No subir likes/X/chats al server.
Repo paraguas + anti-fomo (misma sesión)
~/nef/knowledge-factory/— repo git (commitc67cad4) que agrupa todo:subrepos.json: manifiesto de 10 subrepos (rol · repo · remoto). No mueve carpetas (las rutas relativas de los proyectos quedan intactas).orquestador.py: pipeline (estado·capturar·exportar·render·todo·servir) + gestión (repos·sync).sync.sh/status.sh: autoactualización (fetch +pull --ff-onlysolo si limpio) y estado (rama · HEAD · ± vs upstream · sucio). Nunca pisa un subrepo sucio.decisions -> ../decisions: conocimiento compartido, igual que~/nef/decisions.npmde segundo-brain,zolade finitud, etc. se manejan víarender.
- anti-fomo cableado en el motor (
nef-silo/silo_engine.py): clasificador_anti_fomo()(reglas desurtido/scripts/fomo_release.py: patrocinado > demo > opinado), columnaanti_fomoenitems(migración + backfill), anotado encapturareingesta, y expuesto enexportar. Verificado: 600 items → demo 35 · opinado 33 · patrocinado 5 · limpios 527.surtido/feed.pypropaga el flag. - Verificado
todo(2026-09-27): captura +16 (total 5179) → export 600 → surtido home 400 → second-brain 415 nodos → finitud + in·finitud build ✓.
Pendiente de commit (subrepos, sin commitear a propósito)
nef-silo:silo_engine.py(anti-fomo).surtido:feed.py(flag en el adapter + lectura localfile://). Commitear/push cuando lo pidas (el paraguas ya los refleja como sucios).