El catálogo se compila.
El quién se resuelve.

Boceto de capas · capa de entendimiento e identidad · Agent Squad · 9-ago-2026

Los dos síntomas de la primera corrida real, 57 segundos y un catálogo que pedía los datos de contacto de los propios agentes del squad, son el mismo error: le estábamos preguntando a un modelo algo que el sistema ya sabe declarar. El catálogo es un artefacto compilado desde los contratos de las operaciones, no una inferencia. La misma regla vale para el quién: el contrato declara el rol y el roster real resuelve el actor. Donde no hay squad, no se inventa a nadie.

Diagrama de capas: contratos, catálogo compilado, extracción con procedencia y presentación, con el andamio inferencial fluyendo hacia arriba hasta una decisión humana
La columna izquierda fluye hacia arriba a propósito: la única puerta desde lo inferido hacia los contratos pasa por una decisión humana. Si se borrara todo el texto, la forma seguiría diciendo que nada sube solo. La franja de abajo repite la progresión de color de las cuatro capas porque es la misma regla aplicada al quién.
Capa 1

Contratos

Cada operación declara qué necesita saber. Determinista, versionado con el código, sin modelo de por medio.

Capa 2

Catálogo compilado

La unión de los contratos de las operaciones que el squad puede ejecutar. Se compila al publicar el acuerdo, no al abrir una pantalla.

Capa 3

Extracción con procedencia

Lee la conversación y llena valores, cada uno con su cita textual verificada y un juez independiente. No decide qué campos existen.

Capa 4

Presentación

Capturado, falta y sin revisar. El tercero existe para no convertir una caída nuestra en un reproche a la persona.

Andamio

Inferencia temporal

Solo donde falta contrato. Produce candidatos, nunca verdad, y su única salida hacia arriba pasa por una persona.

La misma regla, aplicada al quién

El rediseño del 9-ago separó el rol de la persona. El contrato declara qué rol ejecuta la capacidad; quién lo hace se resuelve contra el squad que el workspace realmente contrató. No hay asignación de fábrica en ninguna capa del motor.

1

Rol de la capacidad

Lo declara el contrato en default_agent_role. Es el qué, no el quién.

2

Asignación

Binding contra el roster real por operation_ref. Los 14 templates curados llevan actor nulo.

3

Actor

Un actor_id, referencia abstracta. La identidad se compara por id, nunca por nombre.

4

Nombre visible

Solo en la interfaz, desde IDENTIDAD_DE_ACTOR. El motor no alberga personas.

Sin squad el plan no se compila: assertPasosConActor bloquea antes de escribir y nombra el rol que falta cubrir. La librería muestra el rol y el estado «sin asignar», nunca un nombre de fábrica.
Mientras la identidad viajó como texto, la atribución del squad comparaba el nombre de fábrica contra el roster real: un squad con nombres propios nunca declaraba squad, y la oficina 3D iluminaba el piso equivocado.

Medido en la primera corrida real

contacto_daniel contacto_sofia · datos de contacto de los propios agentes del squad, que son software y ya están adentro. 57 segundos. El modelo dedujo un contrato leyendo una lista de tareas.
nicho_canal formato_publicacion canal_youtube · del trabajo, no del equipo. 16 segundos con el espacio de razonamiento recortado, y el canal marcado como herramienta: se busca, no se pregunta.