dec-0069

Vista generada de dec-0069: Client Session Controller is the single creator of LogicalGenerationId; sink/engine/ByteRuntime only validate/enforce, never create or increment

ImplementadoSin versión del tren todavía· generada desde docs/decisions/dec-0069-client-session-controller-single-creator.md
track/docsdec-0124track/docs:DC10

Vista generada desde docs/decisions/dec-0069-client-session-controller-single-creator.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.3-creator
Ficherodocs/decisions/dec-0069-client-session-controller-single-creator.md

Por qué importa (del frontmatter del ADR):

TKT-044 M2 ships unit+fuzz tests for exactly this GenerationId invariant; r60 D2 and D3 both explicitly depend on 'r54 único creator'; ownership-map.md row states 'CSC es el único creator de LogicalGenerationId' as the boundary rule for styx-client-core.

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-0069-client-session-controller-single-creator.md, el fichero canónico.

Client Session Controller is the single creator of LogicalGenerationId; sink/engine/ByteRuntime only validate/enforce, never create or increment

Client Session Controller is the single creator of LogicalGenerationId; sink/engine/ByteRuntime only validate/enforce, never create or increment

Por qué pasa gate-3

  • Hard-to-reverse: Requiere redistribuir responsabilidad de creación entre componentes y re-validar invariantes 'no stale-generation append'
  • Surprising sin contexto: Un ingeniero no inferiría que solo el Client Session Controller puede crear generations sin leer las invariantes §3; rejected alternative 'Generation counters independientes en TS, Zig y ByteRuntime'
  • Trade-off real: Rejected alternative explicit: 'Generation counters independientes en TS, Zig y ByteRuntime' (linea 147); coste visible = single point of truth vs distributed ownership complexity

Procedencia

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