dec-0072

Vista generada de dec-0072: styx-client-core adoptado en 4 capas L0(algebra)->L1(contracts)->L2(state machines)->L3(session orchestration), con L3 explícitamente DIFERIDA hasta consumer_count>

ImplementadoSin versión del tren todavía· generada desde docs/decisions/dec-0072-styx-client-core-adoptado-4-capas-l0.md
track/docsdec-0124track/docs:DC10

Vista generada desde docs/decisions/dec-0072-styx-client-core-adoptado-4-capas-l0.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 legadar56-D4.1
Ficherodocs/decisions/dec-0072-styx-client-core-adoptado-4-capas-l0.md

Por qué importa (del frontmatter del ADR):

TKT-040 (docs/tickets/TKT-040-...md) cita textualmente 'Session orchestration L3 marcada como diferida (r56 D4.1)' y M1 'L3 explícitamente marked deferred con consumer-count gate' — el propio consumer usa la etiqueta D4.1 para este hecho, no D4.5. roadmap.spec.yml define subPhases C0-C4 de F-CLIENT-PLATFORM-FOUNDATION calcados de esta tabla. r57/r59/r60/r61 citan r56 para el client-core layering.

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-0072-styx-client-core-adoptado-4-capas-l0.md, el fichero canónico.

styx-client-core adoptado en 4 capas L0(algebra)->L1(contracts)->L2(state machines)->L3(session orchestration), con L3 explícitamente DIFERIDA hasta consumer_count>

styx-client-core adoptado en 4 capas L0(algebra)->L1(contracts)->L2(state machines)->L3(session orchestration), con L3 explícitamente DIFERIDA hasta consumer_count>=2 (Web + Pi 3).

Por qué pasa gate-3

  • Hard-to-reverse: Revertir requería rehacer la arquitectura modular por capas y cambiar el scope de cada fase (C0-C4)
  • Surprising sin contexto: Un ingeniero competente no inferiría la estructura L0-L3 y el orden de adopción sin leer este ADR
  • Trade-off real: Se rechazó portar todo el client core a Zig de golpe (alternativa mencionada en Contexto) en favor de adopción incremental por capas

Procedencia

Split de docs/decisions/r56-portable-client-core-abi-2026-07-15.md (lock r56-D4.1) durante PASO 7 (2026-07-16). Ver el fichero padre para el contexto completo del pack original.