Sistema de códigos jerárquicos 2-niveles + asignación determinista post-IA

- hierarchy.ts: Spike (S) agregado, buildHierarchyPath genera [E01-F04] (2 niveles)
  Legacy [E05-F04-U01] preservado (regex opcional 3er segmento)
- hierarchy-generator.ts (nuevo): analyzeExisting() computa contadores por épica+tipo
  assignEpicCodes() asigna E{max+1} secuencial
  assignItemCodes() asigna {epic}-{tipo}{n+1} a cada HU dentro de su épica
- project-analyzer.ts: post-procesa épicas y HUs con generador de códigos
  saveEpicDrafts usa epicCode en metadata y título con [E01]
- prompts-db.ts: prompt FASE 2 instruye a la IA a no generar códigos
- workitems.ts: EnrichedEpic._epicCode, EnrichedUserStory._epicCode/_itemCode
- DashboardView: muestra códigos en drafts y tabla de épicas
This commit is contained in:
2026-05-29 18:13:17 -05:00
parent 9cf12b482f
commit 3035351e6f
6 changed files with 218 additions and 26 deletions
+5 -3
View File
@@ -77,7 +77,9 @@ Formato de respuesta FASE 1:
--- FASE 2: Generar HUs dentro de Épicas ---
Instrucciones específicas:
- Las épicas ya están definidas. Generá las HUs que pertenecen a cada una.
- Cada HU debe tener un campo "epicName" indicando a qué épica pertenece
- NO generes códigos jerárquicos en los títulos. El sistema los asigna después.
- Proponé solo el nombre del ítem sin prefijos como [E01-F04].
- Cada HU debe tener un campo "epicName" con el NOMBRE de la épica a la que pertenece.
- Tipos de HU: feature, task, US (historia de usuario), bug, spike
- Incluí: título, descripción, criterios de aceptación, prioridad, story points, tipo, feature, sprint estimado
- No generes HUs duplicadas con las existentes
@@ -87,7 +89,7 @@ Formato de respuesta FASE 2:
{
"hus": [
{
"title": "Título de la HU",
"title": "Nombre del ítem (sin código jerárquico)",
"description": "Descripción detallada",
"acceptance_criteria": ["Criterio 1", "Criterio 2"],
"priority": "Alta|Media|Baja",
@@ -95,7 +97,7 @@ Formato de respuesta FASE 2:
"type": "feature|task|bug|spike",
"feature": "Nombre de la feature",
"sprint": 12,
"epicName": "Nombre de la épica a la que pertenece"
"epicName": "Nombre exacto de la épica a la que pertenece"
}
],
"summary": "Resumen de las HUs generadas"