Cuándo detenerse
Saltar es un préstamo, y los préstamos se escriben. Una razón de clase de seguridad nunca
se salta en silencio y nunca es decisión del planificador. /flow auto funciona por
niveles: el trabajo verde puede fusionarse sin preguntar, y el trabajo de clase de
seguridad hace HALT.
Esta página es el home del operador para esas reglas. Los archivos del mantenedor siguen siendo canónicos en el repo; solo se enlazan en el pie.
Reglas de halt de clase de seguridad
Sección titulada «Reglas de halt de clase de seguridad»Estas clases nunca son «tales como» con un resto silencioso. Todas hacen halt.
- autenticación / auth
- autorización
- exposición de superficie admin
- tenencia
- pagos
- pérdida de datos / migración de datos
- eliminar o debilitar validación
Ante cualquiera de ellas:
- El operador acepta la exposición por escrito en
DEBT.md. Tú no la decides por él. - En
/flow autoesto es un HALT de Nivel-C. Para y pregunta. No procedas. - Cerrar una ejecución con deuda de seguridad abierta requiere reconocimiento explícito del operador. «Temporal» no es un reconocimiento.
Saltar un gate con deuda
Sección titulada «Saltar un gate con deuda»Saltar es legítimo. Saltar en silencio no.
Registra primero la exposición, luego salta:
/flow debt add "skip 01-research" "<la exposición, en concreto>" "<cerrar antes de: condición nombrada>"/flow skip 01-research --reason "…"Guardas, en este orden (referencian la lista de clases de arriba; no la reemplazan por una más corta):
- El stage 05 (contrato) nunca puede saltarse. Adapta el contrato al tipo de proyecto. Ver Por qué el contrato nunca se puede saltar.
- Una razón de clase de seguridad hace halt. El operador acepta la exposición por escrito en
DEBT.md. Nunca es decisión del planificador. - Una línea de deuda abierta no relacionada no desbloqueará el stage.
/flow skipsolo avanza cuando una línea de deuda abierta nombra ese stage exacto y la razón no es de clase de seguridad.- Después de un skip legítimo,
planning_completepuede tolerar ese stage para que las cards no queden bloqueadas para siempre. La línea de deuda sigue abierta.
DEBT.md
Sección titulada «DEBT.md»- El primer skip crea
DEBT.md. - Forma de la línea: cosa saltada, exposición concreta, condición nombrada de cierre, fecha, cards.
- [ ] DEBT: <qué se saltó> -- <exposición> -- close before: <condición nombrada> -- opened <fecha> (cards: C-NNN...)- Cerrar una ejecución con deuda de seguridad abierta requiere reconocimiento explícito del operador. «Temporal» no es un reconocimiento.
- Una card bloqueada por una deuda queda
todocon evidencia PARCIAL que nombra la deuda. Nunca medio terminada, nunca redondeada a terminada.
Ejecutar una construcción auto
Sección titulada «Ejecutar una construcción auto»/flow auto hace preflight; si pasa, escribe el estado auto compartido. /flow auto stop vuelve a manual. No hay bypass oculto.
El preflight es fail-closed:
- cada card tiene un riesgo clasificado (sin
unknown) - las cards de clase de seguridad necesitan un reconocimiento de autor distinto en
DEBT.md - el stage 05 lleva un recibo
semantic_gatevigente
Luego, por card, el ciclo en lenguaje de operador es: clasifica el nivel, construye en un worktree aislado con un subagente acotado, revisa, recibos, check, fusiona, despliega, verifica en vivo, pega evidencia del mundo, luego terminado. Usa los verbos de /flow workspace para que el journal no tenga huecos. Un git worktree add crudo no registra nada.
Niveles
Sección titulada «Niveles»| Nivel | Qué | Acción |
|---|---|---|
| Nivel-A | Verde, sin clase de seguridad | Auto-fusión sin preguntar. |
| Nivel-B | Reparable | Una reparación por un subagente fresco (dos strikes). El primer rojo de una card ordinaria no llama a un motor facturable de otro proveedor. |
| Nivel-C | Toque de clase de seguridad o un skip de deuda | HALT. El operador acepta por escrito en DEBT.md. Nunca lo decide el planificador. |
Los límites duros (iteraciones / tokens / reloj) son obligatorios. Excede cualquiera → HALT + informe. Un ciclo sin límite es un antipatrón.
Cada gate decide sobre una señal mecánica (código de salida real, ## Verify real, comprobación en vivo). Nunca la autoevaluación de un agente.
Conflicto de fusión en paralelo → halt y replanifica. La comprobación de solapamiento fue manipulada.
Cuando la ejecución se detiene sola
Sección titulada «Cuando la ejecución se detiene sola»Una ejecución hace HALT e informa. Nunca continúa en silencio. Se detiene ante cualquiera de:
- Un límite duro excedido (iteraciones / tokens / reloj).
- Una señal roja de ground truth que no puede repararse en dos strikes.
- Un toque de clase de seguridad de Nivel-C.
- Un conflicto de fusión durante construcciones en paralelo (la comprobación de solapamiento de archivos permitidos fue manipulada: para y replanifica).
BLOCKED/NEEDS_CONTEXTde un subagente que más contexto no puede resolver.
Al hacer halt: di qué paró, qué está hecho, la deuda abierta o el bloqueador, y 2–4 opciones concretas. No parchees alrededor de una regresión. Deja que decida el operador.
Homes del mantenedor (no la página pública): skills/flow/references/debt-and-halts.md, skills/flow/references/auto-run.md, skills/flow/references/attestations.md.