# E-034 — El remedio de preflight nombraba un runtime no disponible

## Contexto y jerarquía

- Fecha: 2026-08-04.
- Objetivo principal: hacer que Objective Guard sea adoptable por recién llegados y agentes de programación mediante documentación canónica en inglés.
- Objetivo de ronda: proporcionar guías utilizables para los harnesses de Claude y Codex.
- Flujo afectado: recuperación de una denegación `PreToolUse` causada por autorización de preflight ausente o vencida.

## Trayectoria observada y evidencia

El inventario sanitizado importado desde una Mac mini contenía cuatro denegaciones `missing-or-expired-preflight` entre 155 eventos nuevos. El mensaje de recuperación inyectado construía su comando con `.runtime/bin/node`, pero ese ejecutable no existía en este checkout. Por eso el prompt nombraba la acción CLI correcta con un comando que no podía ejecutarse.

## Comportamiento esperado y real

Esperado: una edición denegada recibe un remedio exacto y ejecutable. Real: los checks de contrato y documentación pasaron mientras el feedback del harness refería un runtime no disponible; ningún detector cubría este fallo de ruta del mensaje.

## Clasificación, corrección y límite

Es una señal de usabilidad perdida en el feedback del harness, no evidencia de un fallo de detector semántico. Los prompts de Claude y Codex ahora usan el runtime incluido sólo cuando es ejecutable y, de otro modo, `node` del `PATH`; además indican explícitamente no reintentar la edición bloqueada antes de que `task-flow` devuelva `ready`.

Esto no prueba que un agente siga la instrucción ni que el gate haya prevenido deriva.

## Impacto y seguimiento

El feedback operativo debe ser ejecutable, no sólo preciso. Mantener un smoke check que parsee cada respuesta de prompt y afirme su guía de recuperación; la telemetría puede medir denegaciones repetidas pero no establecer por sí sola beneficio causal.
