dec-0001

Vista generada de dec-0001: r15 — El proyecto se llama **Styx**

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

Vista generada desde docs/decisions/dec-0001-naming-styx.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
Fecha2026-06-20
Referencia legadar15
Ficherodocs/decisions/dec-0001-naming-styx.md

Nodos del roadmap que lo citan en refs: ninguno.

Páginas de la documentación que lo citan: ninguna todavía.

Texto del ADR

Leído de docs/decisions/dec-0001-naming-styx.md, el fichero canónico.

r15 — El proyecto se llama Styx

Resuelve d01 (naming, deferred desde setup). Lockeado en interview de design 2026-06-20 por waxin.

Decisión

El producto se llama Styx (el río que cruza al inframundo en la mitología griega, /stiks/).

Producto:   Styx
Marca:      Styx (sin paraguas — producto único por ahora)
Repo físico: styx  (renombrado de waxinflix el 2026-06-20, ver "Carpeta física")
App IPTV:   producto hermano; waxin tiene una app Swift IPTV existente
            llamada Wraith que es cliente principal candidato (ver r16)

Identidad operativa

PiezaValor
Package scopes npm@styx/* (@styx/domain, @styx/api-contracts, @styx/plugin-sdk, @styx/source-sdk, @styx/capability-model, @styx/playback-policy, @styx/observability, @styx/clients)
Dominiosapi.styx.<tld> (control plane), media.styx.<tld> (delivery plane)
OpenAPI server nameStyx Media API
Binario Zig (media-daemon)styx-media-daemon
CLIstyx

Carpeta física

UPDATE 2026-06-20 (post-cierre de r15): el repo físico fue renombrado de waxinflix a styx. Paths absolutos en docs/configs actualizados en la misma sesión. El ajuste fino (validar que no queden refs stale, git init con el nombre nuevo) se completa en la fase de scaffold.

Estado original al cerrar r15 (histórico): el repo físico era waxinflix y la decisión indicaba "no se renombra en esta sesión — el rename va en la fase de scaffold". Se adelantó el rename a pedido de waxin antes de lanzar el task-executor del bootstrap.

Rationale — por qué Styx

Doble sentido (requisito de waxin: nombre mitológico con doble sentido chulo):

  1. Río = STREAM. Un media stream es literalmente un río de bytes. Styx ES un río. El delivery plane de Styx te ferry-a streams por la red al cliente — el río que entrega los medios.
  2. Inframundo → pairs con Wraith. Styx cruza al inframundo; Wraith (la app IPTV existente de waxin) es temática fantasmal/inframundo. Marca coherente sin ser idéntica.
  3. Corto, oscuro, memorable. 4 letras, pronunciación limpia (/stiks/). No choca con nombres técnicos establecidos (existe la banda de rock Styx, pero sin conflicto en el dominio media-server).

Alternativas descartadas (con reasons)

CandidatoDoble sentidoPor qué no
Charon (barquero del Styx)ferry-a streamsDescartado: muy literal al pairing Styx/Wraith, menos memorable como nombre standalone
Aether (aire superior + medio de propagación)media se propaga por el éterDescartado: waxin prefirió la oscuridad de Styx sobre la elegancia de Aether
Argus (gigante cien ojos)VE todo = VES todo (watch); cien ojos = todas las fuentes federadasDescartado: colisión con tools de monitoring existentes ("Argus")
Wraith Media (nombre de los docs de brainstorm)—Descartado: waxin reservó "Wraith" para la app IPTV existente, no quería reciclarlo para el media server
waxinflix (working name original)—Descartado como nombre de producto. Repo físico renombrado a styx el 2026-06-20

Qué NO cambia esta decisión

  • No toca las 13 decisiones lockeadas previas. Es puramente naming.
  • Los docs de brainstorm siguen llamando al producto "Wraith Media" en su texto literal — son un artefacto histórico (transcripción), no se editan. Los nuevos docs usan Styx.
  • roadmap.spec.yml referencia wraith-media-core, wraith-storage-agent en notas del brainstorm — esos nombres internos (Zig core, storage agent) se renombran a styx-* en el scaffold.

Reflexive check

  • Este ADR usa Styx consistentemente. ✅
  • Los package scopes listados (@styx/*) son los que se usarán en el scaffold. ✅
  • No se mezcla Wraith/Styx en el mismo contexto sin aclarar. ✅