dec-0068

Vista generada de dec-0068: PresentationSink monolithic contract split into PresentationBufferSink (buffer only) + PlaybackSurface (clock/surface only), formal Arktype interfaces in @styx/api-contracts

ImplementadoSin versión del tren todavía· generada desde docs/decisions/dec-0068-presentationsink-monolithic-contract-split-into.md
track/docsdec-0124track/docs:DC10

Vista generada desde docs/decisions/dec-0068-presentationsink-monolithic-contract-split-into.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 legadar54-D2.2-split
Ficherodocs/decisions/dec-0068-presentationsink-monolithic-contract-split-into.md

Por qué importa (del frontmatter del ADR):

AC-D2.1/AC-D2.2 are grep-checkable acceptance criteria; TKT-039 M1 (F-WEB-PLAYER-ENGINE.W1) builds exactly these two interfaces; ownership-map.md assigns 'PresentationBufferSink + PlaybackSurface contracts' to Platform Adapter (r54+r57) as its own table 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-0068-presentationsink-monolithic-contract-split-into.md, el fichero canónico.

PresentationSink monolithic contract split into PresentationBufferSink (buffer only) + PlaybackSurface (clock/surface only), formal Arktype interfaces in @styx/api-contracts

PresentationSink monolithic contract split into PresentationBufferSink (buffer only) + PlaybackSurface (clock/surface only), formal Arktype interfaces in @styx/api-contracts

Por qué pasa gate-3

  • Hard-to-reverse: Lockeado por AskUserQuestion con preview paquete ejecutable 2026-07-15; requiere re-escribir toda la arquitectura de presentation y volver a evaluar alternativas
  • Surprising sin contexto: Ruptura radical del modelo anterior de PresentationSink único con append/seek/flush/destroy; un ingeniero no esperaría este split sin leer el paquete §1 supersession
  • Trade-off real: Rejected alternative explicit: 'PresentationSink monolítico' (linea 146); coste visible = coordination overhead vs clarity/clean boundaries

Procedencia

Split de docs/decisions/r54-presentation-authority-runtime-boundaries-2026-07-15.md (lock r54-D2.2-split) durante PASO 7 (2026-07-16). Ver el fichero padre para el contexto completo del pack original.