Vista generada de los releases del roadmap (alpha.0, alpha.1…) desde styx.model.yml: orden por dependencias, contenido y definition of done.
styx.model.ymlVista generada desde
styx.model.yml. No se edita a mano:bun run docs:genla regenera ybun run docs:checkfalla si difiere. El estado aquí es el del model: si discrepa con otra página, manda el model.
Un release es un checkpoint del tren de versiones atado al roadmap (dec-0133, LOCKED). Se ordena sólo por dependencias: no hay fechas, plazos ni estimaciones. Lo publica el pass de su definition of done (verificado por alguien distinto del autor, GUARD 6), no un calendario. Los alfas se versionan 0.0.0-alpha.N; el primer v0.y.z lo corta waxin más adelante. Tener versión no publica nada. bun run check:releases valida esta sección del model.
| Release | Título | Estado | Canal | Pre-release | Visibilidad | Versión | Depende de |
|---|---|---|---|---|---|---|---|
alpha.0 | Esqueleto desplegado: docs y nightly de master en Coolify, privado | in_progress | nightly | alpha | private | 0.0.0-alpha.0 | — |
alpha.1 | MVP: primera vertical VOD web sobre biblioteca real (local + Storage Box) | planned | stable | alpha | private | 0.0.0-alpha.1 | alpha.0 |
alpha.2 | Post-MVP inmediato: runtimes medidos, hogares y perfiles, dispositivos base y resto de la ola C | planned | stable | alpha | private | 0.0.0-alpha.2 | alpha.1 |
Esqueleto desplegado: docs y nightly de master en Coolify, privado
estado: in_progress · DoD completo
Locks que exige: dec-0133, dec-0123
Incluye, en orden de trabajo:
track/release-engineering/coolify-docs — Aplicación Coolify del sitio de docs desde deploy/coolify/docs.compose.yml: auto-deploy desde master, acceso privado por Tailscale (docs.vpn.) hasta la AppSec secatrack/release-engineering/release-entity — Entidad release en el model (dec-0133): releases: ordenado por dependencias, guard check:releases y vista generadatrack/release-engineering/build-version — Lane A — registro de componentes, versión en cada artefacto (0.0.0 alfa clean/dirty), guards de interfaz, release:build multi-arch, OCI derivada y styx-release.jsontrack/release-engineering/runtimes-cli — Lane B — modelo de despliegue, adapters tier 1 (systemd, Quadlet, Compose), styx-postgres y CLI styx (install, update, rollback, backup, status, doctor)track/release-engineering/coolify-tier1 — Coolify tier 1 operable: plantilla propia de styx, secretos como fichero y styx status/update/rollback/backup sobre Coolifytrack/release-engineering/channels — Lane C — release-build, nightly y stable; nightly privada de master desplegada en CoolifyDefinition of done (su pass dispara la publicación):
| Item | Nodo | Verdict |
|---|---|---|
RE13 | track/release-engineering | open |
RE17 | track/release-engineering | open |
RE1 | track/release-engineering | open |
RE15 | track/release-engineering | open |
RE5 | track/release-engineering | open |
RE14 | track/release-engineering | open |
Pasa a público cuando: track/release-engineering:RE16 (open)
MVP: primera vertical VOD web sobre biblioteca real (local + Storage Box)
estado: planned · DoD completo
Locks que exige: dec-0133, dec-0123, dec-0113, dec-0124
Incluye, en orden de trabajo:
track/domain-media — Discriminante live/VOD + capabilities realesoutcome/federated-storage/remote-measure — Medir el montaje FUSE (sólo comparador, r03), WebDAV, SFTP y SMB desde el VPS y el Mactrack/byte-runtime/sec — Seguridad del data plane: SCT, IPC autenticado, raíces fd-relativas, presupuestos, parsers acotados, contenedor mínimo, zkit.safety + audit:safetytrack/identity/sec — Seguridad del control plane: sesión BFF + CSRF, policy deny-by-default, IDOR, CORS, CSP/TT, mínimo privilegio, NATS por servicio, audittrack/byte-runtime/tcp-edge — Origen TCP del daemon: HTTPS h1/h2 en Zig + Alt-Svc h3 (delivery-edge, P3 de waxin)outcome/first-vertical/wave-a — Ola A — una película entera desde el SSD, con seek, en Chrome sin flags, por el origen TCP del daemon con certificado realtrack/plugin-seams/w1 — Wave 1 — contracts + 4 módulos first-party + gate vertical E2Etrack/plugin-seams/w2 — Scanner por contenido + raíz local con NFO y artwork (dec-0114): contrato scanner, huella en el daemon, orquestador incremental y plugin first-partyoutcome/first-vertical/wave-b — Ola B — la biblioteca local aparece en la web identificada (NFO, título, año, póster) por el scanner por contenidospike/swift-av-inventory — Inventario del módulo Swift de vídeo y audio de MKS IPTV: qué se porta a libav-bridge y a los clientestrack/media-engine/audio-transcode — Transcodificación de audio AC3/EAC3/DTS/TrueHD → AAC en libav-bridge como capability (cierra ME7)track/domain-media/file-ssot — Fichero como fuente de verdad de la metadata (dec-0127): índice derivado, metadataHash, feed de cambios, artwork por hashtrack/media-engine/metadata-embed — Metadatos incrustados: escritura in-place con journal en el daemon, SCT annotate/art, proveedores sin clave y asistente de TMDboutcome/federated-storage/remote-backends — Backends remotos WebDAV/SFTP/SMB como fuentes seekables del byte runtime, medidos contra el montaje FUSE como comparador (acotado a m4 + DM2)outcome/first-vertical/wave-d — Ola D — la biblioteca del Storage Box, sin montarla en el hot path, por backends remotos medidostrack/identity/invitations — Invitaciones simples estilo Wizarr ligadas al login sellado (un admin + testers, sin perfiles ni hogares)track/identity/cli-auth — Auth del CLI: device grant RFC 8628 en identity-svc (styx login) y PAT mínimotrack/identity/api-keys — API keys styx_pat_/styx_sat_ con scopes ⊆ permisos, caducidad obligatoria y canje por JWT en el bordetrack/identity/quick-connect — Quick connect de TV (8 dígitos + QR) sobre el device grant, con aprobación y elección de perfiltrack/observability/doctor-mvp — Observabilidad mínima del MVP: OTel y logs de todas las Authority y styx doctor con probes básicos (observability#01)track/observability/playback-metrics — Métricas de reproducción por sesión (TTFF, latencia de seek, stalls) exportadas a OTel; harness E1 de la ola Etrack/docs/contract-pages — Páginas de contrato de lo implementado en el MVP, en el estado que dicen sus gatestrack/release-engineering/appsec-dry — AppSec seca: pasada completa sin P0/P1/P2 nuevos, verificada por un panel distinto de quien arreglaSi llega (no forma parte del DoD): track/byte-runtime/ingest-web
Fuera de este release: track/devices/a2, track/devices/b0, track/devices/b1, track/devices/b2, outcome/server-federation, track/public-mode, track/web-player-v1, track/client-platform-foundation/c1, track/media-engine/download-output
Definition of done (su pass dispara la publicación):
| Item | Nodo | Verdict |
|---|---|---|
FV1 | outcome/first-vertical | open |
FV2 | outcome/first-vertical | open |
FV4 | outcome/first-vertical | open |
SZ13 | track/byte-runtime/sec | open |
S6 | track/plugin-seams/w1 | open |
ME3 | track/media-engine | partial |
ME4 | track/media-engine | partial |
ME5 | track/media-engine | partial |
DM4 | track/domain-media | open |
DM2 | track/domain-media | open |
RM1 | outcome/federated-storage/remote-measure | open |
ME7 | track/media-engine | open |
FS1 | track/domain-media/file-ssot | open |
FS2 | track/domain-media/file-ssot | open |
FS3 | track/domain-media/file-ssot | open |
FS4 | track/domain-media/file-ssot | open |
MB1 | track/media-engine/metadata-embed | open |
I1 | track/identity | open |
I2 | track/identity | open |
I3 | track/identity | open |
I4 | track/identity | open |
I5 | track/identity | open |
I7 | track/identity | partial |
I8 | track/identity | partial |
I9 | track/identity | open |
I10 | track/identity | open |
OB1 | track/observability | open |
OB2 | track/observability | open |
DC1 | track/docs | open |
DC7 | track/docs | open |
DC8 | track/docs | open |
RE8 | track/release-engineering | open |
RE16 | track/release-engineering | open |
Pasa a público cuando: track/release-engineering:RE16 (open)
Post-MVP inmediato: runtimes medidos, hogares y perfiles, dispositivos base y resto de la ola C
estado: planned · DoD incompleto: faltan items que redactan sus tickets
Locks que exige: dec-0133, dec-0128
Incluye, en orden de trabajo:
track/release-engineering/runtime-bench — Lane E — benchmark reproducible de runtimes y backends de BD; orden por defecto por plataformatrack/identity/accounts-households-profiles — Cuentas con varias identidades, hogares opcionales con roles, perfiles con PIN, madurez y concesiones de bibliotecatrack/devices/a0 — Contratos + registro de dispositivos (identity-svc) + presencia y foto «reproduciendo ahora» efímeras (playback-svc/Valkey, realtime-svc pasarela)outcome/first-vertical/wave-c — Ola C — cualquier MKV suena y se subtitula: audio transcodificado (ME7), pistas alternativas y subtítulosDefinition of done (su pass dispara la publicación):
| Item | Nodo | Verdict |
|---|---|---|
RE12 | track/release-engineering | open |
I11 | track/identity | open |
FV3 | outcome/first-vertical | open |