# Coordinación de AWC instalado

## Autoridad y propiedad de paquetes

Las fuentes canónicas de AWC en este checkout son `packages/core` (`@fyso/agent-work-context` 0.1.1) y `packages/cli` (`@fyso/awc` 0.1.2). La raíz sigue siendo `@fyso/objective-guard` (0.1.2). AWC coordina los ejecutables instalados `awareness` y `oguard` mediante PATH; cada motor conserva su autoridad y versión. Awareness Framework 0.5.0 y Objective Guard 0.1.2 son los targets de validación local.

El límite anterior de paquetes se recuperó del checkout histórico de Objective Guard en el commit `a5b55e299f87b4cbf0b36c095d469bbddde78546`. Solo se incorporó el límite de paquetes del coordinador; se preservaron los commits divergentes y árboles de motores vendorizados del checkout histórico. El CLI instalado ya no depende de ese checkout. El núcleo corregido reemplaza las rutas exclusivas de desarrollo y lecturas del board global legacy por adaptadores de CLI en ejecución.

## Ciclo de vida

AWC vincula contexto, tarea, repositorio/worktree, rama, objetivo, ronda y hash de contrato. Lee Awareness mediante `awareness status --context-scope worktree`. El aislamiento por sesión sigue controlado por el entorno de sesión existente de Awareness. Las etiquetas de repositorio como `fyso-dev/objective-guard` no se confunden con rutas absolutas de archivos.

- `start` se asocia solo a una ronda activa coincidente; envía las definiciones iniciales/sucesoras al guard. Conserva checks y obligaciones repetidos.
- Rechaza un contexto activo no relacionado. Un contexto bloqueado puede sucederse explícitamente bajo otra identidad tras cumplir el requisito de árbol limpio del guard; el contexto anterior queda en el journal.
- `pause` y `resume` sincronizan el estado de Awareness. Pausar AWC no cambia la autorización de edición del guard. Los contextos cerrados siguen terminales.
- `close` invoca `oguard round-end --mode final --json` instalado, exige `pass` y verifica que el ciclo de vida del guard esté cerrado antes de marcar Awareness done.
- Una transición parcial de Awareness deja `recovery-required` con estado pendiente. Reparar el ejecutable y reintentar ese mismo comando. No borrar el contexto para ocultar estado parcial.
- `status`, `check` y `handoff` informan coherencia. `check` termina con código no cero ante discrepancias. Un contexto terminal coherentemente cerrado es válido.

El estado local `.awc/` se excluye de Git. Las transacciones usan lock exclusivo y journal append-only. Los locks nunca se recuperan solo por antigüedad; después de un crash, inspeccionar el PID antes de quitar manualmente un lock abandonado. La coordinación no valida utilidad estratégica ni establece etiquetas independientes de resultado.

## Construcción e instalación

```bash
npm run package:awc -- /tmp/awc-pack
npm install -g /tmp/awc-pack/fyso-awc-0.1.2.tgz
awc --version
awc status --json
```

El empaquetador incluye la dependencia exacta del núcleo mediante un directorio temporal offline. El tarball instalado no necesita directorios hermanos del monorepo. Instalar los motores por separado en el mismo prefijo npm elegido. Instalar un tarball local no equivale a publicar en el registry npm.

Al consolidar instalaciones globales existentes, inspeccionar primero `type -a awc awareness oguard` y las versiones de paquetes. Conservar un prefijo autoritativo; respaldar paquetes previos y configuraciones de hooks propios antes de eliminar instalaciones duplicadas. No quitar paquetes ni hooks del usuario no relacionados.

## Hooks

`oguard-hooks install --harness all` instala un gate pre-edición, observador post-edición y hook de prompt propios por harness, preservando otras integraciones. Migra los registros anteriores conocidos `.codex/hooks/awc-prompt.sh` y `.claude/hooks/awareness-prompt.sh`. Cuando el wrapper legacy de Codex suministraba Awareness, el instalador reemplaza ese comportamiento por un hook dedicado de user-prompt de Awareness.

Un prompt independiente de Awareness desactiva lecturas duplicadas de Awareness en el prompt del guard. Se incluye guía de AWC cuando su ejecutable está en PATH, sin ejecutar otro proceso `awc status` en cada prompt. El gate de Codex no tiene matcher `Edit|Write`, para poder inspeccionar payloads de parches de Codex; Claude conserva ese matcher. Se instala el gate pre-edición de Claude aunque antes faltara.

## Verificación y límites

`npm run test:awc` empaqueta e instala el CLI en un prefijo temporal y usa los motores CLI reales en repositorios Git externos temporales con homes privados de Awareness e inventarios del guard. Cubre ciclo completo, rondas sucesoras, referencias discordantes, verificación fallida, recuperación y routing por worktree. Estos tests se omiten explícitamente si faltan los ejecutables de motores; una ejecución omitida no es evidencia de instalación. `test/prompt-context.test.mjs` verifica migración idempotente y preservación de hooks no relacionados.

Ejecutar suite completa, guard documental y dogfooding habitual de round-end después de cambios. Aprobar la integración demuestra esas rutas declaradas, no recuperación universal ante crashes, todos los entornos de shell ni utilidad estadística de Objective Guard.
