ADR-008 — Estado terminal NO_OTORGADO
- Status: accepted (D8 del BRIEF)
- Context: Tras el cierre de campaña ya no hay "próximos sorteos" a los que devolver
una unidad no entregada. La máquina de estados quedaba abierta.
- Alternatives: devolver a
Disponible para siempre (stock fantasma post-campaña);
estado terminal explícito (elegida).
- Decision:
NO_OTORGADO como estado terminal, distinto de Disponible, con motivo
(suplentes agotados | plazo de retiro vencido) + auditoría completa.
- Consequences: El inventario de la campaña cierra exacto: cada unidad termina en
Otorgado o NO_OTORGADO; la rendición ante Caracol es un COUNT.
Implementation Plan
- Transición
Sorteado → NO_OTORGADO (y Disponible → NO_OTORGADO al cierre para
remanentes) con EventoPremio obligatorio (motivo, usuario, fecha).
- Pantalla de ganadores: acción explícita del operador, nunca automática.
Verification
- [ ] Test: unidad con suplentes agotados pasa a NO_OTORGADO con motivo y evento.
- [ ] Test: NO_OTORGADO no cuenta en
stock_disponible ni es asignable.
- [ ] Test: transición sin motivo → rechazada.