dec-0031

Vista generada de dec-0031: Styx Node first-class

ImplementadoSin versión del tren todavía· generada desde docs/decisions/dec-0031-styx-node-first-class.md
track/docsdec-0124track/docs:DC10

Vista generada desde docs/decisions/dec-0031-styx-node-first-class.md. No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla si difiere. El estado aquí es el del model: si discrepa con otra página, manda el model.

CampoValor
EstadoLOCKED (migrado de un rNN por gate-3: el fichero no declara estado)
Referencia legadar27-L1
Ficherodocs/decisions/dec-0031-styx-node-first-class.md

Enmendado o sustituido por: r48

Por qué importa (del frontmatter del ADR):

F-NODE-FOUNDATION / F-NODE-ACQUISITION en roadmap.spec.yml y styx.model.yml (refs: r25,r27,r28); r48 extends r27

Nodos del roadmap que lo citan en refs: ninguno.

Páginas de la documentación que lo citan: Servidores conectados y Jellyfin (especificado)

Texto del ADR

Leído de docs/decisions/dec-0031-styx-node-first-class.md, el fichero canónico.

Styx Node first-class

Styx Node first-class: roles declarados vía capability announcement JSON (STORAGE/ACQUISITION/PROCESSING/DELIVERY/CACHE/REPLICA/EDGE_CONTROL) + NodeAvailabilityPolicy + node-agent como binario edge FUERA del cluster de *-svc + @styx/node-model puro.

Por qué pasa gate-3

  • Hard-to-reverse: Requiere cambiar arquitectura completa de nodos, capability announcements, node-agent, y @styx/node-model package. Topologia de despliegue estructural.
  • Surprising sin contexto: Un ingeniero competente NO inferiria que roles=arquitectura estable vs empaquetado fisico, ni que node-agent NO es un *-svc del cluster, sin el ADR. Distincion arquitectura vs empaquetado es sutileza lockeada.
  • Trade-off real: Alternativa rechazada: empaquetado fisico mono-binario vs familia de binarios. Se lockeo shape (roles), se dejo empaquetado como implementation candidate para F-NODE. Coste visible: spike adicional necesario.

Procedencia

Split de docs/decisions/r27-nodes-nats-plugins-acquisition-2026-06-21.md (lock r27-L1) durante PASO 7 (2026-07-16). Ver el fichero padre para el contexto completo del pack original.