Saltearse al contenido

Las ocho fases

El ciclo de kbspec tiene ocho fases. Una sesión decide en cuál estás; nadie tiene que saberla de memoria. Cada fase produce un documento del expediente y algunas tienen una compuerta que no se puede saltar. Las aprobaciones son por puntos y las escribe una persona en el chat —«aprobado alcance», «aprobado solución», «aprobado pruebas»—; un L aprueba además el análisis aparte.

FaseProduceCompuerta
1 · CapturaLa solicitud y las preguntas abiertasLa fase no cierra con preguntas abiertas bloqueantes
2 · RequerimientoRF/RN/RNF y criterios de aceptación«aprobado alcance» (el 01 y el 02) — es el contrato · con elicitación aplicada u omitida con motivo
3 · Análisis técnicoMatriz de impacto, ADRs, riesgos—
4 · Plan de tareasWBS, tareas T-NN, work items y los casos del 06«aprobado solución» (el 03, el 04 y el 06): aprueba el plan y autoriza el lote con un tope
5 · ImplementaciónLas tareas en paralelo, cada una en su árbol, verificadas e integradas (el lote); de a una si se pidekb listo antes de la primera tarea
6 · PruebasUnitarias y E2E en lenguaje de negocio«aprobado pruebas» (el brief, antes de escribir las E2E) · E2E en verde
7 · ValidaciónUAT, hallazgos H-NN, aceptaciónResultados importados
8 · EntregaDespliegue, manual y base de conocimientokb retro

Entre la 6 y la 7 hay una parada que no es una fase —no produce un documento— pero es donde el requerimiento pasa días: la revisión del Pull Request. El orden real sorprende: se entrega completo, el revisor aprueba, se publica a staging, y ahí recién prueba el usuario de negocio. El expediente registra en qué estado está el PR, así que al cerrar la fase 6 el panel dice qué sigue en vez de quedar mudo:

Ventana de terminal
kb pr --aplicar # lo crea y lo anota en el expediente
kb pr estado # dónde está y qué toca hacer
kb pr aprobado # arranca la fase 7
kb pr cambios --motivo "…" # pidió cambios: abre la ronda de corrección

La tabla de arriba dice qué produce cada fase. Este diagrama baja un nivel: los pasos de cada una y —lo que de verdad se pregunta al trabajar— qué queda escrito al terminar cada paso. Ninguna fase avanza porque alguien la dio por hecha: avanza porque dejó un archivo que la siguiente puede leer.

00 Refinamiento y apertura /kb-refinamiento acta de refinamiento 1 Refinar con el negocio antes de abrir nada → Acta con lo acordado y el ticket nacido en backlog 2 kb abrir <TICKET> — explica qué hará y pide confirmación → Documentación al día y las ramas de trabajo bajadas: seguís donde iba, aunque lo empezara otro Salida Sesión abierta sobre un expediente que existe, con entradas/ y evidencias/ 01 Captura /kb-captura 01-solicitud.md 1 kb insumo <archivo> — correos, actas, pantallazos, planillas → Insumos en entradas/ con fecha y origen en el nombre 2 Analizar cada insumo y extraer lo que implica → Requisitos derivados, con el insumo del que salen 3 Redactar la solicitud → 01-solicitud.md: pedido literal, proceso manual actual, inventario analizado 4 Listar las preguntas abiertas → Los vacíos que ningún insumo resuelve — el entregable más importante de la fase 5 kb init --tamano S|M|L → Tamaño clasificado y justificado Salida El 01 publicado y las preguntas abiertas respondidas: una sin responder es un supuesto que se descubre en pruebas 02 Requerimiento /kb-requerimiento 02-requerimiento.md 1 kb listo --fase 2 → Contrato de mínimos verificado: si falta algo, no se redacta 2 Escribir los requisitos y las reglas de negocio → RF-NN y RN-NN con fórmula y ejemplo numérico — el que después será el assert de la prueba 3 Criterios de aceptación por requisito → Cada RF pasa de opinable a verificable 4 kb sistemas → Pase y componentes fijados en el 00-INDICE 5 Pedir la aprobación del usuario → aprobado_por en el frontmatter Salida El 02 aprobado: la única fuente de la que salen el análisis, las tareas y las pruebas 03 Análisis técnico /kb-analizar 03-analisis-tecnico.md 1 kb contexto → Qué leer y si sigue vigente, en vez de explorar el repositorio para redescubrirlo 2 Ficha de arquitectura, si no existía → aplicaciones/<APP>/arquitectura.md — entregable de la fase, no un subproducto 3 Matriz de impacto, un renglón por RF → Sistema, componente y tipo de cambio, con rutas concretas (archivo.ts:120) 4 Modelo de datos: actual contra propuesto → Scripts en <repo-db>/REQ-XXXXXX/, con su rollback 5 Declarar los riesgos → R-NN, cada uno con cómo se detecta — muchos se detectan con una prueba Salida Todo RF aparece en la matriz; el que no aparece se reporta, porque es alcance que nadie va a implementar 04 Plan de tareas /kb-tareas 04-plan-tareas.md + tablero 1 Derivar las tareas de la matriz de impacto → T-NN, una por unidad de cambio 2 Ordenarlas por dependencias → Secuencia ejecutable: DB → API → WEB → LEGACY → REPORTES 3 Sumar las tareas de proceso → PROC-01…PROC-08: hacen visible ante el supervisor el trabajo que con IA dura minutos 4 Crear el árbol en Azure DevOps (MCP primero) → Work items creados y enlazados 5 Escribir los IDs de vuelta en el 04 → Trazabilidad en los dos sentidos: expediente ↔ tablero Salida Todo RF cubierto por al menos una tarea; si falta uno, el plan no cierra 05 Implementación /kb-implementar 05-bitacora.md + código 1 kb ramas → Rama de trabajo lista en cada repo: main → Release/PN → Feature/<TICKET> 2 Work item de la tarea a «En proceso» → El tablero refleja lo que está pasando de verdad 3 Implementar solo lo que la tarea declara → Código; y lo que apareció sin estar previsto queda registrado como desviación 4 kb pruebas --solo compilar,lint → Evidencias E01 y E02 con su veredicto 5 Puerta de validación: el desarrollador revisa → Aprobación humana antes de cerrar — la tarea no se cierra sola 6 Registrar en la bitácora → 05-bitacora.md: qué se hizo, qué se decidió y cuánto costó 7 Commit «REQ-XXXXXX T-NN: …» y work item a Closed → Tarea ✅ en el 04 y en el tablero Salida Bucle: los siete pasos se repiten por cada T-NN — una tarea a la vez, nunca dos en paralelo en la misma sesión 06 Pruebas /kb-pruebas 06-plan-pruebas.md + 07 §1 1 kb pruebas doctor — preflight, no corre nada → Frontend detectado con sus prácticas, Playwright, la app arriba y los usuarios listados 2 kb pruebas brief → pruebas/a-construir-<TICKET>.md: una sección por componente con sus unitarias y UNA sección transversal para las E2E 3 El desarrollador revisa y aprueba el brief → estado: aprobado — y a partir de ahí es literalmente lo que se escribe, una prueba por fila 4 Explorar cada pantalla antes de escribir — MCP, CLI o kb pruebas explorar → El árbol de accesibilidad real en pruebas/pantallas/: cada control con su localizador. Las pruebas salen de lo que la pantalla expone, no de suposiciones 5 Escribir las pruebas → Unitarias contra las RN con el ejemplo del 02; E2E con page object por pantalla, que navegan por la receta de la ficha y corren con el usuario del ROL de su RF 6 kb pruebas — en local lo rojo se corrige, con tope de 3 intentos → E03 E04 E05 E06 y una captura por caso; sin evidencias en rojo al terminar 7 kb pruebas resultados → §1 del 07 escrita desde las evidencias: veredicto por sistema, la cola del log de lo rojo y cada caso con su captura 8 Redactar el plan en lenguaje de negocio → 06 con casos CP-NN: usuario/rol, navegación y datos literales 9 kb plan-uat — se niega si falta E04 → exportados/plan-uat-<TICKET>.html: una app que el usuario llena, se abre con doble clic Salida Contra staging o QA la regla se invierte: las capturas de las fallas se conservan —son el entregable— y no se corrige ni la prueba ni el código PR Revisión del PR /kb-pr hoja de aprobación 1 kb hoja → Una hoja por repositorio: qué evidencia exige su ficha y cómo salió cada una 2 kb pr --aplicar → PR abierto con enlaces al wiki, y anotado en el expediente: quien lo abra mañana ve que está esperando a un revisor 3 El revisor responde — y las dos respuestas se registran → kb pr estado dice dónde está; el panel lo muestra como parada entre Pruebas y Validación 4 kb pr aprobado → Arranca la fase 7: siembra el 07, devuelve a cada documento su fase y dice qué sigue (staging → kb plan-uat → el usuario) 5 kb pr cambios --motivo "…" (si pidió cambios) → Una tarea T-R<ronda>.<n> por cambio pedido y la fase vuelve a implementación 6 Con el PR abierto, la rama vive: se corrige sobre ELLA → El push actualiza el MISMO PR, con el hilo de comentarios intacto — abrir otro dejaría dos sobre lo mismo, y kb pr se niega 7 Si el PR ya estaba aprobado, el merge borró la rama → kb ramas la recrea y el PR nuevo lleva «ronda N» en el título: el revisor sabe que mira correcciones, no trabajo nuevo Salida El orden real sorprende: la validación del usuario llega DESPUÉS del PR. Se entrega completo, se aprueba, se publica, y ahí recién prueba el negocio 07 Validación del usuario /kb-uat 07-resultados-pruebas.md 1 El usuario ejecuta el plan en staging → resultados-uat-<TICKET>.json: marca por caso, el porqué de cada falla y sus capturas 2 kb uat importar <archivo> → §3 del 07 llena, sin transcripción manual 3 Clasificar cada hallazgo — el paso crítico → H-NN: defecto · nuevo requerimiento (otro ticket) · duda de uso (va al 09) · ambiente o datos 4 Corregir los defectos y reprobar el caso → Bitácora actualizada y evidencia nueva del CP afectado 5 Regresión y aceptación → kb uat importar registra la aceptación: quién y cuándo, del archivo del usuario Salida Reapertura: kb uat reabrir numera la ronda, crea una tarea T-C<ronda>.<n> por defecto y devuelve la fase a implementación. Solo los defectos reabren 08 Entrega y cierre /kb-entrega 08-entrega.md + 09-manual-usuario.md 1 Redactar el documento de entrega → 08: cambios por sistema, scripts con quién los corrió en cada ambiente, rollback y su punto de no retorno 2 Escribir el manual de usuario → 09: cada RN en palabras, con fórmula, ejemplo numérico y desde qué versión rige 3 Actualizar la base de conocimiento — no se puede saltar → aplicaciones/ al día, cada cambio marcado AGREGADO / MODIFICADO / ELIMINADO 4 kb publicar-base → La base compartida publicada — directo, sin PR salvo que el proyecto pida lo contrario 5 kb finalizar → fase: entregado, estado: completado y fecha_entrega en todos los documentos Salida Requerimiento cerrado y el conocimiento vivo actualizado: lo que el próximo ciclo va a leer en vez de volver a explorar el código

Un chat por fase; en la implementación, uno por tarea

Sección titulada «Un chat por fase; en la implementación, uno por tarea»

Cada herramienta que corre el agente reenvía la conversación entera al modelo, así que el costo de un chat crece con el cuadrado de sus turnos. Al cerrar una fase —y en la fase 5, cada tarea— la extensión de VS Code abre un chat nuevo con el agente y el modelo de la fase siguiente y el primer paso escrito. El detalle está en Menos tokens.

Antes de que el usuario apruebe el requerimiento (fase 2), todo se corrige libremente. Después de la aprobación, cada cambio queda registrado como control de cambios en el mismo ticket. Después de entregar, todo cambio nuevo es un ticket nuevo. La regla evita que el alcance se mueva en silencio.

Un requerimiento a la vez por carpeta de trabajo. Con una sesión abierta, kb init y kb abrir sobre otro ticket fallan a propósito. Para llevar dos en paralelo, cada uno va en su ventana y, al implementar, en su propia carpeta: Dos requerimientos a la vez.

kbspec es un producto de Kabata Soft contacto@kabatasoft.com © 2026 Kabata Soft S.A. Todos los derechos reservados.