Conceptos

Missions y scouts

Los dos tipos de tarea, y los estados por los que pasa una tarea.

Dos tipos

MissionScout
Propósitocambiar código, entregar algo para aterrizarinvestigar y reportar
Escribe en su campsí, commits en su branchnunca hace commit ni push
Entregacommits en vexillum/<task-id>, aterrizados con land o abiertos como PR con shipun reporte en markdown
Done significaprodujo commits por delante de su baseexiste su archivo de reporte

vx dispatch usa --kind mission por defecto. Un scout escribe su reporte en ~/.vexillum/projects/<repo>-<hash>/reports/<agent-name>-<task-id>.md, fuera del camp, así sobrevive al strike. Nunca uses un scout para trabajo que deba cambiar código.

--model y --effort se pasan directo al CLI del harness del perfil (claude salvo que el perfil nombre pi u opencode); vexillum verifica que el harness acepte el valor, solo por su forma en los modelos de Pi y OpenCode (ver models.json). Elegirlos es trabajo del commander, a partir de los perfiles de models.json (--profile). Ver también AGENTS.md y rules.

Estados de una tarea

StatusSignificado
pendingcreada, todavía no iniciada
runningel soldier está trabajando
blockedel soldier hizo una pregunta y espera; la pregunta está en el decision de la tarea. Ver Blocked e interrupted
doneterminó con prueba de finalización
failedterminó sin éxito
interruptedvexillum perdió al soldier mismo (su pane de herdr desapareció), no necesariamente porque haya fallado; el trabajo ya commiteado sigue en el camp
unconfirmedel soldier quedó idle sin prueba de finalización y sin una pausa válida declarada, así que vexillum no distingue éxito de atascado; una persona tiene que mirar
shippedenviada por el pipeline tribunal y abierta como pull request real; el soldier y su camp quedan abiertos a propósito hasta que se mergee el PR. Ver Land vs ship
struckuna tarea interrupted o failed cuyo camp se devolvió al pool con strike; no queda nada que vigilar, re-promptear ni re-despachar. Una tarea done o shipped conserva su estado al hacer strike

done nunca se infiere solo de la inactividad. Para una mission vexillum exige un commit nuevo por delante de la base del camp; para un scout, el archivo de reporte. Cada prompt de dispatch declara el entregable. A una mission se le dice que commitee en su propia branch, por delante de su base, y que cierre con una línea final delivered: <resumen>; a un scout se le dice la ruta de su reporte. También se les dice a los soldiers que nunca pausen por un job en segundo plano: los comandos largos corren en primer plano (una llamada de herramienta en primer plano tiene un tope de unos 10 minutos en Claude Code, y los otros harnesses fijan su propio timeout), así que un comando que puede tardar más se divide o se avisa en el mensaje final en vez de mandarlo a segundo plano. Un soldier que tiene que esperar algo externo que no puede correr en primer plano puede declarar una pausa en pauses/<agent-name>.md para que un turno quieto no se confunda con haber terminado. Al despertar tiene que terminar el entregable antes de cerrar su turno: borrar el archivo de pausa no es terminar, y un turno que termina así queda unconfirmed.

En esta página