dec-0051

Vista generada de dec-0051: M1 (F0.C.1) scope

ImplementadoSin versión del tren todavía· generada desde docs/decisions/dec-0051-m1-f0-c-1-scope.md
track/docsdec-0124track/docs:DC10

Vista generada desde docs/decisions/dec-0051-m1-f0-c-1-scope.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 legadar39-L3
Ficherodocs/decisions/dec-0051-m1-f0-c-1-scope.md

Enmendado o sustituido por: r46

Por qué importa (del frontmatter del ADR):

TKT-015 (moqt-adapter-m1a) relatedDecisions r39/r40 with smoke target including fetch; roadmap.spec.yml notes M1 closed with both lanes; r41 (F0.C.1 close plan) and r46 §2's wire-mode table both assume/build on FETCH being part of M1 scope (fetch_reliable / never_drop wire-mode row).

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-0051-m1-f0-c-1-scope.md, el fichero canónico.

M1 (F0.C.1) scope

M1 (F0.C.1) scope = subscribe+publish AND fetch together, explicitly overriding axon's own recommendation (subscribe/publish only, defer FETCH) despite FETCH being codec-only with 0 callers in quic-zig today.

Por qué pasa gate-3

  • Hard-to-reverse: Es un scope de M1 con smoke target definido (daemon Zig publica track desde LocalFileSource, fetch seek a cliente browser). Una vez M1 cerrado con fetch, quitarlo sería rollback costoso. Además, FETCH es literalmente el mecanismo del perfil VOD (§9.14 draft).
  • Surprising sin contexto: FETCH en quic-zig está solo como codec (0 callers, moq_relay.zig case MSG_FETCH sin implementación, cae al else debug-print). Un ingeniero podría asumir que no está listo y no entendería por qué insistir en incluirlo en M1 si hay que 'construir wiring real'. El ADR explica: es EXPLORATORIO pero necesario para demostrar perfil VOD.
  • Trade-off real: Alternativa rechazada explícitamente por waxin: solo subscribe/publish en M1, diferir FETCH a M2+ (recomendación axon). Trade-off: esfuerzo M1 mayor (FETCH runtime es trabajo real, no 'activar algo que ya existe') vs capability VOD/DVR temprana relevante para IPTV (r19/r27). Waxin lo rechazó y quiere FETCH construido desde M1.

Procedencia

Split de docs/decisions/r39-moqt-scope-buildorder-2026-06-30.md (lock r39-L3) durante PASO 7 (2026-07-16). Ver el fichero padre para el contexto completo del pack original.