dec-0012

Vista generada de dec-0012: Data plane Zig owned e2e

ImplementadoSin versión del tren todavía· generada desde docs/decisions/dec-0012-data-plane-zig-owned-e2e.md
track/docsdec-0124track/docs:DC10

Vista generada desde docs/decisions/dec-0012-data-plane-zig-owned-e2e.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 legadar22-L1
Ficherodocs/decisions/dec-0012-data-plane-zig-owned-e2e.md

Enmienda a: r21

Por qué importa (del frontmatter del ADR):

Citado por r23 (matriz CanonicalCodecPolicy), r25 (federated runtime), r39 (MOQT scope), styx.model.yml (sección decisions)

Nodos del roadmap que lo citan en refs: ninguno.

Páginas de la documentación que lo citan: Planos y servicios (implementado)

Texto del ADR

Leído de docs/decisions/dec-0012-data-plane-zig-owned-e2e.md, el fichero canónico.

Data plane Zig owned e2e

Data plane Zig owned e2e: "Bun expresa intención y políticas, Zig posee el recorrido completo hasta el byte entregado por QUIC" — bytes de media nunca atraviesan JS.

Por qué pasa gate-3

  • Hard-to-reverse: Revertir implica rewrite fundamental del data plane de Zig a JavaScript/Rust, arquitectura de control y datos estarían mal diseñadas
  • Surprising sin contexto: Ningún ingeniero competente inferiría 'los bytes de media nunca atraviesan JS' sin leer el ADR - la tesis no es obvia del código
  • Trade-off real: Trade-offs T1-T5 explícitos: perder validación barata H1/H2 (T1), riesgo quic-zig joven (T2), curva Zig alta (T3), reabre F6 scope (T4), re-secuenciación F0.C/F2 (T5). Alternativa híbrida Rust-central con Zig posterior rechazada

Procedencia

Split de docs/decisions/r22-pivot-zig-first-owned-data-plane-2026-06-20.md (lock r22-L1) durante PASO 7 (2026-07-16). Ver el fichero padre para el contexto completo del pack original.