# Alpha — Reglas de Prompt para Criterios de Aceptación
> Documento de referencia para la generación de criterios de aceptación mediante IA.
> Basado en Skill HU v3.5 (Lambda Analytics) + estructura Quill de KAPPA.
**Versión**: 1.0 | **Fecha**: 2026-05-26
---
## 1. Formato esperado en KAPPA
KAPPA almacena los criterios de aceptación en el campo `criterios_aceptacion` usando el editor **Quill** (rich text). El formato es HTML:
```html
- URL producción accesible
- API OP conectada
- 54+ proyectos cargan
```
## 2. Formato en Alpha (BD + UI)
Alpha lo convierte a JSON array y lo almacena en `acceptance_criteria`:
```json
[
"URL producción accesible",
"API OP conectada",
"54+ proyectos cargan"
]
```
En la UI se muestra como tooltip con lista ordenada al lado del título de la HU.
## 3. Prompt para generación de criterios
### 3.1 Reglas de formato
1. Los criterios deben generarse como **lista numerada** (ordenada)
2. Cada criterio debe ser una **frase concreta y verificable**
3. Usar el formato `texto` dentro de ``
4. Mínimo 3 criterios, máximo 10 por HU
### 3.2 Reglas de contenido
Basado en la Skill HU v3.5, cada criterio debe:
- Ser **medible y comprobable** (no opiniones)
- Describir un **resultado tangible** ("El botón X existe en la pantalla Y")
- Evitar términos subjetivos ("fácil", "rápido", "intuitivo")
- Incluir **condiciones de frontera** cuando aplique
- Separar criterios de **diferente naturaleza** en items distintos
### 3.3 Ejemplos por tipo de item
**HU (User Story):**
```
- El usuario puede iniciar sesión con email y contraseña
- Muestra mensaje de error si las credenciales son incorrectas
- Redirige al dashboard en menos de 3 segundos
- El botón "Olvidé mi contraseña" redirige a la pantalla de recuperación
```
**Feature:**
```
- El módulo de cartera está desplegado en producción
- Al menos 1 usuario PMO lo está operando
- Los KPIs del módulo son visibles en el dashboard
- La curva S muestra 3 líneas (planeado, real, proyección)
```
**Bug:**
```
- El error reportado no se reproduce en el ambiente corregido
- La funcionalidad afectada opera según lo especificado
- No se introdujeron regresiones en módulos relacionados
- La corrección está desplegada en el ambiente correspondiente
```
### 3.4 Keywords para detectar tipo de criterio
| Tipo | Keywords en el criterio |
|------|------------------------|
| Funcional | "El usuario puede", "El sistema debe", "Muestra", "Redirige" |
| Performance | "En menos de N segundos", "Responde en", "Carga en" |
| Seguridad | "Solo usuarios autorizados", "Encriptado", "Token expira" |
| UX | "Visible", "Accesible", "Responsive", "Navegación" |
| Integración | "API conectada", "Webhook", "Sincroniza", "Endpoint" |
| Despliegue | "Desplegado en producción", "Ambiente", "URL accesible" |
### 3.5 Estructura del prompt
```
Genera los criterios de aceptación para la siguiente HU como una lista HTML ordenada.
Usa - ...
.
Cada criterio debe ser verificable y medible.
Título: {título de la HU}
Descripción: {descripción de la HU}
Tipo: {HU / Feature / Bug / Tarea}
```
## 4. Parseo en Alpha
La función `parseQuillList()` en `src/services/clean-html.ts` extrae los items de `- ` y los convierte en array. El HTML se almacena RAW en `user_stories.acceptance_criteria` para mantener fidelidad con KAPPA, mientras que la UI muestra la versión parseada como tooltip.
## 5. Referencias
- Skill HU v3.5 → `/Volumes/MonkeyVault/Library/OneDrive/.../Skills/skill_HU_v3.5.md`
- Código: `src/services/clean-html.ts` (parseQuillList, criteriaToJson, criteriaFromJson)
- Stores: `src/stores/workitems.ts` (enrichHU, syncHUsToTurso)