AGENTIC QA · WORKFLOW SKILL

/sprint-conductor

Una sesión conduce una flota de testers, uno por ticket, y el owner mira todo el sprint desde un solo punto fijo: el Sprint Board.

Orca requerido Sentinel: cero tokens mientras no pasa nada El conductor nunca prueba
Deck del skill /sprint-conductor: cómo arranca, cómo vigila el entorno de pruebas, cómo cierra cada worker y cómo se retoma después de un reinicio. Es una skill delgada: casi todo lo que hace ya tiene su canon en sprint-testing, en el Sprint Board y en orca-orchestration, y la skill apunta ahí. → para avanzar, S modo presentador, O overview, F pantalla completa.

El mapa completo · índice del deck

Arranque, vigilancia, cierre y retoma

Entrada /sprint-conductor 7 el sprint --cap 3 tope de workers --no-watch sin sentinel --resume después de un reinicio
Gate
Orca
binario + runtime alcanzable
falla → una línea y se detiene
→
Boot
Siete pasos
board · pre-flight · Run · sentinel · lo pendiente
una pantalla de estado
→
Loop
Watch pass
un pase por cada wake del sentinel
cada decisión queda en el board
→
Single
Cierre
relee el estado · un subagente verifica artefactos
el reporte no es la prueba
Workers
sprint-testing
un worker por ticket, modo fleet worker, corre hasta worker_done
Board
cada worker escribe sus TC, bugs y evidencia con --by worker
Mailbox
done, preguntas y escalaciones; nada de heartbeats

Sesión del conductor en .session/sprint-conductor/sprint-<N>/: kickoff, pases y refinamientos. Los briefs y el launch.txt siguen en la sesión de sprint-testing.

El índice del deck. La skill no repite nada: los briefs, las rondas y los claims son de fleet-conductor.md; el board es de sprint-board.md; el transporte es de orca-orchestration.

Roles · y dónde vive cada regla

Una skill delgada que apunta en vez de copiar

QuiénHaceNunca hace
Ownerdecide desde el board o el chat; su respuesta por chat vale igualleer terminales
Conductorarranca, vigila, lanza, responde, cierra; dueño del estado compartido y del registro del sprintprobar o investigar un ticket; escribirle a un developer sin orden del owner
Workerun ticket de punta a punta con /sprint-testing, sin checkpointsloguearse, sincronizar el tracker entero, escribir el registro del sprint

El QUÉ

fleet-conductor.md: briefs, launch.txt, rondas, claims, dashboard.

El board

sprint-board.md: comandos por etapa, los cuatro canales, el sentinel.

El CÓMO

orca-orchestration: Run, lanzamiento nativo, mailbox, cierre.

La línea entre fixture y hallazgo: sembrar datos y verificar con una consulta que un fixture existe es trabajo del conductor; lo que un caso afirma y el código detrás es del worker.

La puerta · antes de cualquier otra cosa

Sin Orca, una línea y se detiene

Estado C · listo

Binario presente y runtime alcanzable: sigue con Phase 0.

Estado B · binario sin runtime

Abre la app una vez y vuelve a probar una vez; si sigue sin responder, es el estado A.

Estado A · sin binario

Una sola línea: el conductor corre sobre Orca, no hay runtime en esta máquina, y el sprint se corre con /sprint-testing sprint-wide con N ejecutores, que escribe las líneas para pegar. No escribe nada más.

La única excepción al silencio

Toda otra skill de flujo sigue sin nombrar al orquestador cuando falta. Esta lo nombra porque el owner la invocó para correr sobre Orca. La flota sin Orca sigue existiendo, y es de sprint-testing.

La puerta es la misma de orca-orchestration: binario más runtime alcanzable, nunca "está instalada la skill del proveedor". En Linux, fuera de una terminal de Orca, el binario es orca-ide.

Boot · un solo pase

Siete pasos y una pantalla de estado

#HaceDetalle en
1carga esta skill, sprint-testing con sus dos referencias de flota, orca-orchestration y sus stubsorca-orchestration
2resuelve el sprint y el board; sync --discover; levanta el server si no respondesprint-board.md §1
3el pre-flight del conductorboot-and-resume.md §2
4enlaza o crea el Run y prueba la dirección de respuesta una vezboot-and-resume.md §3
5arma el sentinel en segundo plano, con su baselinesprint-board.md §7
6lee el mailbox, el inbox y el replay de listen --since; primer watch passwatch-pass.md
7una pantalla: conteos, quién espera a quién, decisiones numeradasSKILL.md

Al owner solo le pregunta dos cosas: el sprint, si el board y el tracker no coinciden, y el tope de workers, si hay más tickets que el tope y no dio uno.

El tope que da el owner vale para esta sesión y nunca se guarda como nuevo default. Todo lo demás se decide y se reporta.

Boot · antes de CADA lanzamiento

Lo que tiene un solo valor correcto lo mide el conductor

Tokens y estados del browser

Los genera el conductor, renovando solo los vencidos. La credencial se prueba primero con el login por API: tres intentos fallidos y se pregunta.

Repos hermanos: el fetch es un gate

Dos comparaciones, remoto contra remoto y árbol local contra lo desplegado. Un fetch que falla deja los conteos en 0 sobre refs viejas: se escala, nunca se cuenta.

Schema de la API

Se sincroniza desde un árbol al día, o el salto queda escrito en cada brief con la fecha real del último sync.

Build desplegado y fixtures

El build por repo queda como baseline en kickoff.md. Los datos que un caso necesita y no existen se preguntan ahora, no cuando un worker los descubre.

Un worker en modo flota confía en su brief y no vuelve a medir. Por eso una frase falsa del pre-flight es falsa en todos los briefs a la vez, y nadie lo nota.

Loop · un pase por cada wake del sentinel

El entorno de pruebas es la verdad, el tracker es una pista

1
Guardia
board CURRENT · lo que murió de noche
→
2
Detect
arrivals --sync: NEW, RECHECK, UNTRACKED
→
3
Triage
deploy check · fixtures · tope · colisiones vivas
→
4
Launch
pre-flight · brief · lanzamiento nativo
→
5-6
Lecturas y reporte
owner · mailbox · terminados · redeploy · una línea

Idempotente

Cada decisión queda con board arrival launched|held|skipped. Un pase perdido no cuesta nada: el ticket aparece en el siguiente.

El deploy check nunca se saltea

El commit del cambio dentro del build desplegado, y los archivos del cambio leídos: una parte que el pipeline no despliega no queda probada por un deploy verde.

Los motivos de wake y qué pide cada uno están en sprint-board.md §7. Un pase vacío imprime una línea; al final, el sentinel se vuelve a armar en el mismo turno.

Watch pass · cada pase compara el build

Si el entorno cambia, cada worker se entera

Mismo build

Nada que hacer.

Cambió, sin workers

Se actualiza el baseline en kickoff.md.

Cambió, con workers vivos

Solo fetch, nunca fast-forward de un repo hermano. Un aviso a cada worker: repo, build viejo y nuevo, y si se movieron los archivos de su propio cambio.

Medido en la flota de origen

El entorno se redesplegó con cuatro workers corriendo y solo uno lo notó, por su cuenta.

"Tus archivos se movieron" significa volver a correr los casos afectados; "sin cambios" significa seguir y nombrar el build nuevo en el ATR.

Cierre · el reporte es una afirmación, no la prueba

El conductor relee y un subagente verifica

  • Relectura propia. El estado final del ticket, con un poll acotado, desde la sesión del conductor.
  • Un subagente por worker. Verifica TC, ATR, trazabilidad, página de evidencia, imágenes de los bugs.
  • Module learnings. Los workers los dejan como candidatos; el conductor los publica una vez por módulo, y dos cierres del mismo Epic van uno detrás del otro, nunca en paralelo.
  • Registro del sprint. Lo escribe solo el conductor.
  • Footer de costo leído antes de cerrar la terminal.

Por qué no alcanza con el reporte

En la flota de origen un subagente reportó el estado aprobado "directo del tracker"; diez minutos después el tracker seguía en el estado anterior. Un "verificado" ajeno nunca es la prueba.

Cuando todos los issues de la ronda cerraron, la pantalla de estado dice "ronda completa" y se forma la siguiente. Una ronda es un grupo de concurrencia dentro de una wave; una wave es un bucket de estado del tracker.

--resume · un reinicio mata todos los procesos

Retomar sin repetir una escritura que ya llegó

#Paso
1encontrar los workers por título, nunca por un handle viejo; actualizar roster y board; re-enlazar los dispatch
2levantar el server del board
3re-armar el sentinel con el MISMO baseline
4replay de lo que hizo el owner con listen --since, más el inbox
5leer el mailbox
6un mensaje por worker vivo: sesión de browser con nombre, desde el último paso VERIFICADO
7ningún lanzamiento nuevo hasta que todos respondan
Medido en la flota de origen: después de un reinicio todos los workers retomaron sin repetir escrituras, pero uno manejó primero la sesión de browser de otro, porque una llamada sin nombre de sesión cae en la sesión compartida por defecto.

Límites · cada uno pagado en una flota real

El conductor coordina; no prueba

No investiga

Leer el controller y consultar la base para un caso es trabajo del worker, que tiene más contexto y escribe el ATR.

No escribe a developers

Redacta en el board y el owner envía, salvo orden explícita para ese mensaje.

No vigila a mano

Nada de monitores caseros ni de leer el mailbox en loop: el sentinel y el runtime avisan.

Tampoco commitea ni imprime credenciales, y le reporta al owner en conteos y tablas que nombran a quién preguntar.

Las reglas completas están en el bloque compact_rules del SKILL.md, que el REGISTRY copia literal en cada briefing.

Para llevarte

Un sprint en flota, mirado desde un solo lugar

Boot

Siete pasos, el pre-flight del conductor y una pantalla de estado.

Watch pass

Un pase por wake, el deploy check siempre, cada decisión en el board.

Cierre y retoma

Relectura propia, un subagente que verifica, y un retome que no repite escrituras.

Pruébalo: /sprint-conductor · ← → navegar · S presentador · O overview

Todo el contenido sale del SKILL.md de sprint-conductor y sus references; ante duda manda el SKILL.md.
← → navegar · O resumen · S presentador · N notas · F pantalla