dec-0021

Vista generada de dec-0021: ByteSource abstraction (size/availability/readAt/request/cancel(requestId)) — nivel debajo de SeekableMediaSource.

ImplementadoSin versión del tren todavía· generada desde docs/decisions/dec-0021-bytesource-abstraction-size-availability-readat.md
track/docsdec-0124track/docs:DC10

Vista generada desde docs/decisions/dec-0021-bytesource-abstraction-size-availability-readat.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 legadar26-L2a
Ficherodocs/decisions/dec-0021-bytesource-abstraction-size-availability-readat.md

Enmendado o sustituido por: r44, r46

Por qué importa (del frontmatter del ADR):

roadmap.spec.yml líneas 461-463: crate byte-core = 'ByteSource/ByteRange/ExtentMap/AvailabilityMap/ReadIntent/Residency/cancellation'; F-BYTE-RUNTIME ref explícito 'r26 §2'.

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-0021-bytesource-abstraction-size-availability-readat.md, el fichero canónico.

ByteSource abstraction (size/availability/readAt/request/cancel(requestId)) — nivel debajo de SeekableMediaSource.

ByteSource abstraction (size/availability/readAt/request/cancel(requestId)) — nivel debajo de SeekableMediaSource.

Por qué pasa gate-3

  • Hard-to-reverse: Abstracción central del byte runtime. Cambiarla afecta todo el data plane (sources, schedulers, cache)
  • Surprising sin contexto: No obvio: extiende r04 SeekableMediaSource pero añade semantic request-level cancel (no global)
  • Trade-off real: Alternativa rechazada: mantener SeekableMediaSource solo. Trade-off: complejidad abstracción vs granularidad control

Procedencia

Split de docs/decisions/r26-storage-runtime-byte-fabric-2026-06-21.md (lock r26-L2a) durante PASO 7 (2026-07-16). Ver el fichero padre para el contexto completo del pack original.