¿Qué hace harness?
$harness es un enrutador de ejecución de Codex para el bucle de flujo de trabajo Harness. El idioma de explicación predeterminado es el coreano; los términos fijos del flujo de trabajo permanecen en inglés.
Plan -> Aprobación de Ejecución -> Implementar -> Revisar -> Plan de Reparación -> Aprobación de Reparación -> Implementar Reparación -> Finalización
Activación
- Usa esta habilidad solo cuando el usuario invoque explícitamente
$harness. - No te actives a partir de solicitudes ordinarias, inferencias implícitas o menciones en la documentación.
- No requieras el Modo Plan de Codex; ejecuta las compuertas de Harness dentro de la conversación.
- No asumas pila, lenguaje, framework, base de datos, ejecutor de pruebas o plataforma de despliegue.
- Antes de planificar, inspecciona las reglas locales del proyecto como
AGENTS.md,README.md, documentos de contribución, manifiestos y.harness/guard.jsoncuando esté presente. También inspecciona los archivos de estado de Harness locales del proyecto bajo.harness/cuando estén presentes.
Precedencia de Instrucciones
Aplica las instrucciones y convenciones en este orden:
- Instrucciones explícitas del usuario
- Reglas de seguridad del flujo de trabajo Harness, incluyendo reglas de denegación estricta y compuertas de aprobación
- Política del proyecto desde las claves de política de
.harness/guard.json - Documentos locales del repositorio como
README.md,AGENTS.mdy documentos de contribución - Convenciones inferidas
La planificación lee las claves de política de .harness/guard.json al inicio. .harness/guard.json es el único archivo de política/configuración del proyecto de Harness; no infieras harness.md, .harnessrc.yaml u otras convenciones de archivos de política del proyecto. La política del proyecto no puede debilitar las reglas de seguridad del flujo de trabajo de Harness. Las operaciones destructivas y el trabajo con configuraciones secretas o protegidas necesitan aprobación explícita independientemente de la política del proyecto.
Los archivos Markdown locales del proyecto en .harness/ son solo evidencia de Memoria y Estado. Léelos antes de planificar cuando estén disponibles, compáralos con la solicitud actual del usuario y el estado de git, marca conflictos obsoletos y pide aclaración cuando el estado obsoleto entre en conflicto con la solicitud actual. No son política y nunca proporcionan aprobación reutilizable.
Para ejemplos concretos de dimensionamiento de tareas, consulta ejemplos de clasificación. Para el contrato de artefactos de flujo de trabajo autorizado, consulta Contrato de flujo de trabajo Harness. Para la recepción de evidencia de conectores manuales y límites de resumen externos, consulta Contrato de Integración de Conectores.
Carga de Referencias Requerida
Lee las referencias relevantes antes de actuar:
- Sigue siempre
../../docs/contracts/harness-contract.mdpara las secciones canónicas de artefactos, compuertas de aprobación, reglas de Revisión y estados de Finalización. - Sigue siempre
../../docs/contracts/subagent-handoff.mdpara informes de subagentes acotados, traspasos de roles, camposSubagentStop Summaryy comportamiento de colapso de roles. - Sigue
../../docs/contracts/memory-state.mdcuando los archivos de estado.harness/estén presentes o se solicite memoria local del proyecto; usaassets/templates/state.md,assets/templates/approval-ledger.md,assets/templates/decisions.md,assets/templates/last-run.mdyassets/templates/handoff.mdal inicializar o actualizar esos archivos. - Sigue
../../docs/contracts/worktree-isolation.mdcuando el usuario o el proyecto soliciten Aislamiento de Árbol de Trabajo, o cuando haya un registro de sesión de árbol de trabajo activo; usaassets/templates/worktree-session.mdpara un registro de árbol de trabajo mínimo local de la tarea cuando sea necesario. - Sigue
../../docs/contracts/connector-integration.mdcuando se use contexto de conector externo como un issue, pull request, resumen de CI o hilo de revisión; los conectores son solo evidencia y usanassets/templates/connector-issue-plan.md,assets/templates/connector-pr-review.mdoassets/templates/external-summary.mdcuando corresponda. - Lee siempre
references/classification-policy.md,references/phase-contracts.md,references/orchestrator-harness.md,references/subagent-policy.md,references/model-policy.mdyreferences/completion-policy.md. - Para planificación, lee
references/planner-harness.mdy usaassets/templates/plan.md. - Para implementación, lee
references/implementer-harness.mdy usaassets/templates/implement.md. - Para revisión, lee
references/reviewer-harness.md,assets/templates/review.mdyassets/templates/reviewer-brief.md. - Para reparación, usa
assets/templates/repair-plan.md. - Para finalización, usa
assets/templates/completion-report.md. - Si la tarea es
No trivial, la revisión está bloqueada/degradada, ocurrió una reparación, hubo dos o más revisiones del Plan, o las reglas/plantillas de orquestación de Harness cambiaron, leereferences/improvement-policy.mdy usaassets/templates/improvement.md.
Reglas No Negociables
- La clasificación debe ocurrir antes de las compuertas de fase.
Tinypuede ser manejado directamente por el orquestador.SmallyNo trivialrequieren subagentes planificador, implementador y revisor de solo lectura con contexto limpio.- Para
SmallyNo trivial, el agente principal es el orquestador. - El esfuerzo mínimo de razonamiento de Harness es
high; Implementar y Revisar requierenxhighcuando esté disponible. No uses medium, low o minimal para$harness. - No implementes antes de la aprobación del Plan.
- El mensaje de aprobación del Plan debe ser exactamente:
¿Proceder con este Plan? [s/N]
- Solo la
sminúscula aprueba la ejecución del Plan aceptado. El lenguaje natural ambiguo significa que no hay decisión; vuelve a preguntar por unasonexplícita. La no aprobación (n, respuesta vacía, variantes mayúsculas comoN, variantes expandidas y cualquier otra respuesta que no seasy no sea ambigua) se detiene por defecto; no implementes, revises ni replanifiques a menos que el usuario pida explícitamente revisar/replanificar.[s/N]significa que No es la opción predeterminada. - No repares antes de la aprobación del Plan de Reparación.
- El mensaje de aprobación del Plan de Reparación debe ser exactamente:
¿Proceder con este Plan de Reparación? [s/N]
- Solo la
sminúscula aprueba la ejecución del Plan de Reparación aceptado. El lenguaje natural ambiguo significa que no hay decisión; vuelve a preguntar por unasonexplícita. La no aprobación (n, respuesta vacía, variantes mayúsculas comoN, variantes expandidas y cualquier otra respuesta que no seasy no sea ambigua) se detiene por defecto; no repares, revises ni replanifiques a menos que el usuario pida explícitamente revisar/replanificar.[s/N]significa que No es la opción predeterminada. - Solo un subagente revisor de solo lectura con contexto limpio puede completar la Revisión.
- La auto-revisión del agente principal no es Revisión.
- Los datos del conector, asignación de issues, creación de pull requests, éxito de CI, comentarios externos y aprobaciones previas de
.harness/son solo evidencia y nunca aprueban las compuertas de Harness. - Los traspasos de subagentes y la salida
SubagentStop Summarydeben seguir el contrato de traspaso de subagentes canónico. - El fallo de una compuerta requerida debe registrarse como bloqueado o degradado.
- Las operaciones peligrosas requieren aprobación separada.
- Se requiere un informe de Finalización.
Bucle
- Inspecciona las reglas locales del proyecto, las claves de política de
.harness/guard.json, los archivos de estado.harness/locales del proyecto cuando estén presentes y la solicitud del usuario. - Clasifica la tarea como
Tiny,SmalloNo trivial. - Para tareas
Smallo más grandes, define la topología de subagentes. - Produce un artefacto de Plan y pide aprobación del Plan.
- Si el usuario responde exactamente
s, implementa solo el Plan aceptado; de lo contrario, detente a menos que el usuario pida explícitamente revisar/replanificar. - Para tareas
Smallo más grandes, ejecuta la Revisión del revisor de solo lectura con contexto limpio. - Si la Revisión tiene hallazgos que requieren reparación, produce un Plan de Reparación y pide aprobación de la reparación.
- Si el usuario responde exactamente
s, implementa solo el Plan de Reparación aceptado y repite el bucle acotado de Revisión/Reparación si es necesario; de lo contrario, detente a menos que el usuario pida explícitamente revisar/replanificar. - Produce el informe de Finalización con estado, verificación, riesgos y seguimientos.
Hooks
Los validadores mínimos no destructivos se ejecutan para UserPromptSubmit, SubagentStop y Stop; PreToolUse bloquea comandos peligrosos obvios; SessionStart permanece solo de visibilidad. Los hooks no reemplazan las compuertas de Harness ni los controles de seguridad del proyecto.