dec-0033

Vista generada de dec-0033: Plugin SDK NO genérico

ImplementadoSin versión del tren todavía· generada desde docs/decisions/dec-0033-plugin-sdk-generico.md
track/docsdec-0124track/docs:DC10

Vista generada desde docs/decisions/dec-0033-plugin-sdk-generico.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 legadar27-L3
Ficherodocs/decisions/dec-0033-plugin-sdk-generico.md

Enmendado o sustituido por: r48

Por qué importa (del frontmatter del ADR):

roadmap.spec.yml F-PLUGINS-SDK / F-PLUGIN-SEAMS (refs r25,r27,r28,r48); r28 §4 refina secuencia sin tocar el shape; r48 lo realiza como F-PLUGIN-SEAMS

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-0033-plugin-sdk-generico.md, el fichero canónico.

Plugin SDK NO genérico

Plugin SDK NO genérico: familia tipada de 14 tipos de provider en 4 clases (Core/First-party modules/External plugins/Compatibility gateways) + sub-paquetes tree-shakeable @styx/plugin-sdk-{acquisition,metadata,storage,source}.

Por qué pasa gate-3

  • Hard-to-reverse: Requiere reestructurar todo @styx/plugin-sdk, mover 14 tipos entre sub-paquetes, cambiar fronteras Core/plugin. Cambio ROMPIENTE en contrato de plugins.
  • Surprising sin contexto: Un ingeniero NO inferiria la frontera exacta Core vs plugin sin el ADR (Core cuando invariante/estado autoritativo/hot path/seguridad/bytes/garantias cross-plugin; plugin cuando traduce policy reemplazable). Ni por que son 4 clases y no 2 o 5.
  • Trade-off real: Alternativas rechazadas: (1) Plugin generico vs 4 clases tipadas (se eligio tipado por claridad/fronteras), (2) sub-paquetes tree-shakeable vs monolito (trade-off complejidad vs eficiencia de bundle). Decisiones documentadas con regla 4 de r25.

Procedencia

Split de docs/decisions/r27-nodes-nats-plugins-acquisition-2026-06-21.md (lock r27-L3) durante PASO 7 (2026-07-16). Ver el fichero padre para el contexto completo del pack original.