# E-038 — Integración de Awareness y CLI instalada inerte

- Objetivo: O-AGENT-CONTEXT — mantener la integración del guard coherente con Awareness por worktree.
- Ronda: R-AWARENESS-INTEGRATION; KR-CONTEXT; criterio AC-CONTEXT.
- Clasificación: fallo de integración y corrección de protocolo de mantenimiento, no medición de rendimiento de detectores.

## Trayectoria observada

[Hecho] Los scripts de prompt llamaban dos veces a `awareness status` y exigían un
worklog y handoff antes de cada respuesta. Contradecían el flujo recién desplegado:
routing por worktree/sesión, contexto opcional y un registro de progreso que sincroniza
estado y continuación. El instalador comparaba comandos exactos, permitiendo agregar
otra copia de sus hooks al cambiar el prefijo del paquete.

[Hecho] `oguard task-flow --json`, invocado mediante el enlace ejecutable de npm,
terminaba con éxito sin salida. La entrada comparaba una URL de módulo resuelta con
el path sin resolver de argv. Importar ese mismo módulo publicado y llamar a `main`
ejecutó el preflight real: el checkout tenía contrato tipado anterior pero no baseline.
`adopt-baseline`, seguido por una ronda sucesora explícita, devolvió `ready` antes de
implementar. No se deshabilitó ningún guard.

## Comportamiento esperado y real del guard

Esperado: el ejecutable instalado corre preflight y devuelve evidencia estructurada.
Real: el path del enlace nunca invocaba `main`; el código de éxito era engañoso.
Los tests existentes de invocación directa del fuente no ejercitaban esa entrada.
Es un hueco de integración, no un falso negativo medido de un detector semántico.

## Corrección y evidencia

- `src/cli.mjs` resuelve el path ejecutable antes de decidir si debe llamar a `main`.
- Ambos hooks delegan en `scripts/prompt-context.mjs`; la lectura de Awareness es
  única, acotada, segura para JSON, orientativa y se omite ante error o divergencia.
- Las instrucciones de preflight/cierre siguen vigentes independientemente de Awareness.
- El instalador reemplaza sus hooks de otros prefijos y suprime su aporte de Awareness
  cuando ya existe un hook propio de prompt de Awareness.
- `test/prompt-context.test.mjs` ejecuta ambos hooks, un enlace ejecutable real,
  casos de error/timeout y el comando instalado después de limpiar duplicados.

## Impacto y seguimiento

[Inferencia] Menos operaciones obligatorias deberían reducir la sobrecarga de interacción;
las regresiones prueban la integración, no productividad ni logro semántico del objetivo.
AWC sigue siendo un paquete independiente: este cambio no repara sus lecturas del board
anterior ni sus fallos de transición. En futuros releases, validar tanto los ejecutables
instalados como la invocación directa del fuente.
