Cómo se leen las versiones
El repositorio usa CalVerAAAA.M.PATCH y todos los proyectos comparten versión
(modules/overview.md §4). Las fases del PRD se mapean así:
Las fechas de F1b y F2 son objetivo, no compromiso: se confirman cuando su spec pasa a
approved. F1a sí está comprometida contra el hito del 2026-11-01.
Runtime API — SLO p95 <300 ms
Las llama una máquina en un camino caliente: un punto de venta, un carrito, un mostrador. Un segundo de latencia acá es una fila de clientes esperando.Member API — SLO p95 <150 ms
Las llama la app o el portal del cliente final, con un token de member. Nunca con una API key de tenant.Management API — SLO p95 <1 s
Las llama la consola del tenant o su equipo por integración. Son pantallas, no mostradores.Reglas que aplican a todos
- Un permiso por endpoint (R16), con la forma
loyalty.{recurso}.{acción}. Un endpoint que necesita dos permisos son dos endpoints. - Nuestras propias superficies consumen solo esta API (R17). Si la consola necesita algo que la API no tiene, la API está incompleta.
- Errores como RFC 9457
problem+jsoncon uncodeestable. Elcodees parte del contrato: cambiarlo es un cambio mayor. Idempotency-Keydonde la tabla lo marca obligatorio. Un canje repetido por un reintento de red no puede cobrar dos veces.- Los presupuestos de latencia son criterio de Definition of Done (R18), verificados con pruebas de carga en certificación. No son aspiraciones.