docs: prompt para generacion de criterios de aceptacion con IA
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
# 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
|
||||
<ol>
|
||||
<li>URL producción accesible</li>
|
||||
<li>API OP conectada</li>
|
||||
<li>54+ proyectos cargan</li>
|
||||
</ol>
|
||||
```
|
||||
|
||||
## 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 `<li>texto</li>` dentro de `<ol>`
|
||||
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):**
|
||||
```
|
||||
<ol>
|
||||
<li>El usuario puede iniciar sesión con email y contraseña</li>
|
||||
<li>Muestra mensaje de error si las credenciales son incorrectas</li>
|
||||
<li>Redirige al dashboard en menos de 3 segundos</li>
|
||||
<li>El botón "Olvidé mi contraseña" redirige a la pantalla de recuperación</li>
|
||||
</ol>
|
||||
```
|
||||
|
||||
**Feature:**
|
||||
```
|
||||
<ol>
|
||||
<li>El módulo de cartera está desplegado en producción</li>
|
||||
<li>Al menos 1 usuario PMO lo está operando</li>
|
||||
<li>Los KPIs del módulo son visibles en el dashboard</li>
|
||||
<li>La curva S muestra 3 líneas (planeado, real, proyección)</li>
|
||||
</ol>
|
||||
```
|
||||
|
||||
**Bug:**
|
||||
```
|
||||
<ol>
|
||||
<li>El error reportado no se reproduce en el ambiente corregido</li>
|
||||
<li>La funcionalidad afectada opera según lo especificado</li>
|
||||
<li>No se introdujeron regresiones en módulos relacionados</li>
|
||||
<li>La corrección está desplegada en el ambiente correspondiente</li>
|
||||
</ol>
|
||||
```
|
||||
|
||||
### 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 <ol><li>...</li></ol>.
|
||||
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 `<li>` 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)
|
||||
Reference in New Issue
Block a user