D-AG.11 (firmada) define SEIS auditorías. Cinco necesitan el árbol de
manifiestos `src/uix/agent/components/`, que es trabajo de F4b — y el plan es
explícito: el guard «nace CON el árbol, no después». Así que quedan
DECLARADAS en el script y se reportan como pendientes: añadir un manifiesto
las enciende, y el guard nunca puede ir por detrás de la superficie que
vigila.
La quinta SÍ tiene sujeto hoy y no la vigilaba nadie: F1 entregó el primitivo
de actor (`$libs/actor` + el registro WeakMap privado del motor) y su
invariante — que SOLO el motor acuña — no estaba protegida por nada. El token
es una marca de compilación sin constructor en runtime: un forjado resuelve a
null, pero un `as ActorToken` TIPA, y un contexto de actor construido a mano en
el canon es exactamente la suplantación que el eje prohíbe (agent.md §5). Por
eso D-AG.8 §2 dice literalmente que su defensa es el lint de agent-check, no
el sistema de tipos.
Dos reglas, sobre canon (uix · arts · libs · svrs · packs · web) excluyendo el
arte agente:
- `actor-forgery` — cast a ActorToken fuera de $agent
- `actor-handbuilt` — `actor:` con valor literal (objeto/string/número) en vez
de un token RECIBIDO; reenviar (`actor: opts.actor`) es la costura
sancionada y calla. Los tests quedan exentos: ahí fabricar un forjado es
precisamente lo que se prueba.
Verificado en negativo, que un guard que nunca falla es teatro: inyectado un
cast + un contexto a mano en `sema/signal.ts` → 2 hallazgos con fichero:línea
y exit 1; revertido y de vuelta a limpio.
`npm run agent:check` cableado junto a los demás guards del repo.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>