Skeleton: Contrato del componente y pruebas
Define la API reutilizable del componente, el modelo de estado, las expectativas de integración, ejemplos y pruebas para skeleton. Esta referencia fija el límite de adopción, el comportamiento ante fallos y la evidencia observable, dejando configurables los límites específicos del entorno.
Estado del paquete: contexto de referencia listo para revisión humana. El contrato y los escenarios de prueba están completos, pero no se afirma que una implementación adoptante los haya superado.
Decisión
Para Skeleton, adoptar un contrato reutilizable de estado e interacción usando semánticas nativas cuando estén disponibles. Implementar el comportamiento a través de una única vía autorizada de escritura, interfaces tipadas, estado explícito y manejo idempotente de efectos secundarios. Este paquete es un contrato de referencia: el equipo adoptante debe elegir límites numéricos, proveedores, jurisdicciones y responsables operativos basándose en la evidencia de su propio entorno.
Alcance
- Los actores, entradas, salidas, estados, versiones de políticas o esquemas y resultados visibles externamente descritos por este bloque de implementación.
- Interfaces primarias y alternativas, trabajo en segundo plano, cachés, integraciones, rutas de soporte y evidencia que puedan ejercer el mismo límite.
- Configuración específica de adopción, despliegue, recuperación y responsabilidades de verificación necesarias para aplicar la referencia de forma segura.
Fuera de este bloque
- Elegir un proveedor universal, framework, jurisdicción, umbral numérico, periodo de retención u objetivo de nivel de servicio para todos los adoptantes.
- Afirmar que los escenarios empaquetados se han ejecutado contra una implementación descendente o que esta referencia otorga certificación legal, de seguridad o accesibilidad.
Contrato
- Definir estados de activación, abierto o activo, carga, éxito, vacío, inválido, error, deshabilitado y de cierre que el patrón puede adoptar.
- Especificar entrada por teclado, entrada y retorno de foco, nombre accesible, anuncios, comportamiento del puntero y comportamiento del objetivo táctil en conjunto.
- Hacer explícitos los efectos destructivos, irreversibles o externos y prevenir activaciones duplicadas mientras el trabajo está pendiente.
- Mantener la jerarquía de contenido y las acciones usables en anchos estrechos, alto zoom, expansión de texto, colores forzados y reducción de movimiento.
- Validar las entradas una vez en el límite y preservar la representación normalizada usada por la lógica descendente.
- Persistir la transición de negocio antes o atómicamente con un registro de buzón de salida; los consumidores deduplican por identidad duradera de la operación.
- Usar un skeleton solo cuando el diseño sea predecible y el progreso indeterminado, aproximar honestamente la estructura eventual y evitar presentar controles de marcador de posición como contenido interactivo.
- Exponer un estado de carga significativo, ocultar formas decorativas para tecnologías de asistencia, respetar la reducción de movimiento y reemplazar el skeleton con estados explícitos de vacío o error.
Guía de implementación
- Enviar primero cambios aditivos en almacenamiento e interfaz, rellenar observablemente, luego retirar rutas antiguas tras evidencia de compatibilidad.
- Modelar entradas, salidas, actores, estados, invariantes, efectos secundarios y evidencia de Skeleton antes de seleccionar detalles de framework o proveedor.
- Almacenar la versión aplicable del contrato o política de Skeleton con el estado material para que migraciones, reproducción y decisiones de soporte sean atribuibles.
- Introducir la ruta detrás de un despliegue controlado, comparar resultados esperados y observados, y mantener una ruta de recuperación probada hasta completar la evidencia de adopción.
Manejo de fallos y salvaguardas
- Ante acción fallida, preservar la entrada y el foco relevantes, anunciar el resultado y devolver el componente a un estado con una ruta de recuperación segura.
- El estado inválido o contradictorio de Skeleton se rechaza o pone en cuarentena; la implementación nunca adivina un valor que amplíe autoridad o duplique un efecto.
- Los reintentos están limitados y usan identidad duradera; tras agotarlos, el trabajo alcanza un estado terminal inspeccionable con un responsable accountable.
Verificación y operaciones
- Inyectar fallo de dependencia antes y después de la persistencia y demostrar que el reintento converge en un resultado visible externamente.
- Monitorizar éxito, denegación, fallo de validación, fallo de dependencia, agotamiento de reintentos y recuperación de Skeleton por versión de contrato sin dimensiones sensibles de carga útil.
- Reejecutar fixtures positivos y negativos emparejados tras cambios de política, esquema, dependencia, migración o límite y preservar la evidencia resultante.
Suposiciones de adopción
- Los nombres y valores en el ejemplo son un fixture concreto, no valores predeterminados universales; los adoptantes los reemplazan mediante evidencia documentada y propiedad.
- El sistema adoptante puede proporcionar identidad autenticada, versiones duraderas de operación o registro, telemetría limitada y una ruta controlada para cambios.
Los ejemplos con apariencia ejecutable en este paquete son fixtures y contratos de aceptación. Ejecute el validador de colección para comprobar estructura y metadatos, luego traduzca y ejecute los escenarios en el repositorio destino antes de registrar evidencia de implementación.