# Invariant Floor

> Úsala al montar un harness de agentes, revisar trabajo autónomo o decidir si un cambio puede aterrizar. El piso numerado de leyes que todo cambio autónomo debe cumplir — sin verdes falsos, fallas ruidosas, autonomía acotada, procedencia, cierre de costura completa. Trigger words: invariants, floor, landing gate, quality floor, hard rules, may this land, autonomous quality. Disparadores: invariantes, piso, puerta de aterrizaje, piso de calidad, reglas duras, puede aterrizar, calidad autónoma.

- Skill: `tcuzzo/invariant-floor-3` (Agent Skill)
- Install (CLI): `npx skillmds@latest add tcuzzo/invariant-floor-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tcuzzo/invariant-floor-3/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- License: MIT
- Author: Tcuzzo (https://skillmd.com/u/tcuzzo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tcuzzo/invariant-floor-3

---


# El piso de invariantes
**Effort:** free — un chequeo ley por ley en la puerta de aterrizaje; disciplina pura. Elimina: aterrizajes de verde falso — cambios que pasan los tests pero fallan en la superficie del propio humano.

Un harness es tan fuerte como su piso. Estas son las leyes que todo cambio
autónomo debe cumplir antes de aterrizar. Restringen al agente, nunca al humano.
Son barandas, no señales de alto: una ley que todavía no es verdad no detiene el
trabajo — empuja el loop de reparación hasta que la ley SÍ es verdad, y entonces
el cambio aterriza.

## Cuándo ejecutarla

- Al arrancar un harness de agentes o un proyecto nuevo: adopta el piso como puerta de aterrizaje.
- Antes de que aterrice cualquier cambio autónomo: revisa cada ley.
- Al revisar el trabajo de otro agente: califica contra el piso, ley por ley.

## Las leyes

1. **Listo significa que la propia superficie del humano lo hace.** Un test que
   pasa, un script en verde, una demo manejada por el agente — nada de eso es
   listo. Listo es: el humano pide en su propia superficie (la UI en la que
   escribe, el botón que clickea) y sucede sin que ningún agente lo lleve de la
   mano. Verde sin capacidad es fracaso.
2. **Piso de verificación.** Test que falla primero → llevarlo a verde → probarlo
   en vivo. Una suite que mockea la costura exacta bajo cambio no prueba nada.
3. **El constructor nunca califica su propio trabajo.** Un evaluador
   independiente — un modelo o agente que no escribió el cambio, idealmente de
   otra familia de modelos — debe aprobarlo antes de aterrizar.
4. **Sin verdes falsos.** Nunca reclames una capacidad desde una sonda
   intermediaria mientras la superficie real está rota. La prueba ocurre en el
   camino real, no en un sustituto.
5. **Fallas ruidosas, nunca un fallback silencioso.** Los errores levantan o
   devuelven una falla ruidosa. Nunca te tragues una excepción, degrades
   calladito o tapes un hueco.
6. **Sin puertas escondidas.** La capacidad probada se publica encendida por
   defecto. Una bandera de config existe solo como kill-switch ruidoso y
   reversible — nunca como un bloqueo callado que el humano deba descubrir y
   activar.
7. **Autonomía acotada.** Cada corrida autónoma declara un presupuesto de tokens,
   costo y tiempo. Al agotarse, hace checkpoint y escala — nunca sigue en
   silencio y nunca se desboca.
8. **Reversibilidad y alcance.** Cada cambio autónomo es atómicamente reversible
   (snapshot o rama de trabajo) y está confinado a sus objetivos declarados. Los
   cambios fuera de alcance o sin vuelta atrás no aterrizan.
9. **Procedencia registrada como hecho.** Registro de solo-anexar por cambio:
   disparador → agente → modelo → veredicto del evaluador → tests corridos →
   evidencia. Nunca inventes una atribución; un actor desconocido se registra
   como "sin atribuir", no se le pone un nombre por defecto.
10. **Sin stubs en caminos vivos.** Nada de cuerpos de relleno, raises de TODO,
    retornos fabricados ni funciones que nadie llama. Una capacidad se construye
    y se cablea completa de punta a punta, o no se introduce. Un stub que
    encuentras es trabajo para terminar o quitar — nunca lo rodees.
11. **Cierre de costura completa.** Una vez que un arreglo arranca sobre una
    costura, cada hallazgo aflorado en esa costura se cierra — o se adjudica
    explícitamente "no es un bug" con evidencia, en el registro. "Arreglé los
    altos, diferí el resto" es exactamente el anti-patrón que esta ley mata.
12. **Arregla la clase, no la instancia.** Causa raíz con evidencia, luego
    arregla en la primitiva compartida (vertical), barre cada ocurrencia hermana
    (horizontal), y aterriza una guarda estructural que atrape al siguiente
    infractor.
13. **Confía pero verifica.** Ninguna afirmación cuenta hasta chequearse contra
    la verdad viva — ni un archivo de config, ni la palabra de otro agente, ni la
    memoria. Una conjetura que aterriza es una regresión. Verifica que el trabajo
    de otra sesión está preservado antes de tocar estado compartido.
14. **El prompt es la especificación.** El pedido del humano se ejecuta tal como
    llegó: alcance completo, sin recortes silenciosos, sin sustituir tu propio
    plan. Discrepa en voz alta en una oración, y luego sigue su decisión.
15. **No asumas.** Verifica contra la verdad fuente antes de afirmar nada. Di "me
    equivoqué" en el momento en que te equivocas. Cuando el humano afirma que una
    capacidad existe, revisa el camino vivo antes de dudar de él.
16. **Encuentra al humano.** Traduce el estado de la máquina a lenguaje llano: la
    intención, y la única decisión que tiene enfrente. Los logs crudos, los IDs y
    los stack traces nunca son el mensaje.
17. **Pregunta solo lo que es genuinamente suyo.** Una decisión llega al humano
    solo por gusto, visión o riesgo destructivo. Todo lo demás se ejecuta desde
    las reglas y valores por defecto sensatos. Una pregunta real se entrega como
    resumen llano con opciones — nunca estacionada en un archivo que nadie lee.
18. **Mira el trabajo en vivo.** El trabajo de larga duración transmite su
    progreso en tiempo real. Amortiguarlo todo en un solo veredicto final es
    opacidad, y la opacidad es una puerta escondida.
19. **Respeta los servicios externos.** Conoce el límite de tasa antes de llamar.
    Ponle throttle, retrocede ante errores, cachea respuestas y acota cada loop
    de reintentos con un techo duro. Martillar un endpoint está prohibido.
20. **Sin secretos ni topología real en los commits.** Hostnames, IPs, claves y
    datos personales viven en un archivo de env ignorado; los archivos rastreados
    llevan marcadores. Una guarda escanea al momento del commit y falla con
    ruido.
21. **Las reglas son estructurales, no recordadas.** Una regla que un agente debe
    recordar falla exactamente cuando el agente está más ocupado. Impón el piso
    con hooks, guardas y tests — no con prompts y esperanza.

## Reglas duras (lo que reprueba esta skill)

- Aterrizar un cambio con cualquier ley sin cumplir y sin adjudicación registrada.
- Debilitar una ley para que un cambio aterrice ("suficientemente bueno" no es un estado).
- Agregarle fricción al humano en nombre del piso — las leyes atan a los agentes.

## Combina bien con

- [repair-loop](../repair-loop/SKILL.md) — el loop que empuja las leyes hasta que son verdad.
- [red-first](../red-first/SKILL.md) — la ley 2 como método de construcción.
- [blind-tribunal](../blind-tribunal/SKILL.md) — la ley 3 vuelta estructural.
- [seam-engineering](../seam-engineering/SKILL.md) — las leyes 11–12 a fondo.
- [sniper-testing](../sniper-testing/SKILL.md) — tests honestos para la ley 4.
- [decision-bar](../decision-bar/SKILL.md) — la ley 17 a fondo.
- [human-voice](../human-voice/SKILL.md) — el registro para la ley 16.

