dec-0035

Vista generada de dec-0035: Jellyfin

ImplementadoSin versión del tren todavía· generada desde docs/decisions/dec-0035-jellyfin-sustituto-fuente-jellyfin-compatible-at.md
track/docsdec-0124track/docs:DC10

Vista generada desde docs/decisions/dec-0035-jellyfin-sustituto-fuente-jellyfin-compatible-at.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-L5
Ficherodocs/decisions/dec-0035-jellyfin-sustituto-fuente-jellyfin-compatible-at.md

Enmendado o sustituido por: r48

Por qué importa (del frontmatter del ADR):

roadmap.spec.yml F4 'Jellyfin connector + Compatibility Profiles + compat-jellyfin-edge' (refs r27,r29)

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-0035-jellyfin-sustituto-fuente-jellyfin-compatible-at.md, el fichero canónico.

Jellyfin

Jellyfin = sustituto no fuente ('Jellyfin-compatible at the edges, Styx-native at the core') con 4 relaciones: importador de biblioteca, SourceBinding remoto, API facade con Compatibility Profiles 1/2/3, exportador.

Por qué pasa gate-3

  • Hard-to-reverse: Requiere cambiar integrations/jellyfin/, compat-jellyfin-edge/, y modelo de dominio Work/Edition/MediaAsset. Cambio de paradigma de 'fuente' a 'sustituto'.
  • Surprising sin contexto: Un ingeniero NO inferiria por que Jellyfin NO es modelado como entidad core (JellyfinItem/MediaSource/UserData NO existen). Ni que son 4 relaciones especificas (no es source provider mas).
  • Trade-off real: Alternativa rechazada: modelar JellyfinItem/MediaSource/UserData como entidades core. Se rechazo por: (1) acoplamiento a modelo externo, (2) anti-pattern de 'wrapping' en vez de 'owning', (3) inviabilidad de migracion legacy. Coste visible: escribir 4 adapters especificos.

Procedencia

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