Catalogo de operaciones
La unidad de trabajo del substrato es la operacion. El catalogo vive en packages/substrate-spec y hoy tiene alrededor de 48 operaciones versionadas. Una operacion no es una funcion suelta: es un contrato versionado con inputs, outputs, efectos y, si toca el mundo, un binding de herramienta.
Anatomia de una operacion
Sección titulada «Anatomia de una operacion»Cada operacion declara:
- id y version: por ejemplo
[email protected]. Las versiones conviven; una operacion nueva no rompe la anterior. - contract: referencias a los schemas de inputs y outputs, y los efectos (
pure,tool,delegate,human_gate,branch). - tool_binding (opcional): cuando la operacion toca un servicio externo, declara su capability, provider y scope.
Los cuatro touchpoints
Sección titulada «Los cuatro touchpoints»Registrar una operacion correctamente significa tocar cuatro lugares. El error recurrente es registrarla en tres de los cuatro:
- Catalogo (
packages/substrate-spec/src/operations/): la definicion de la operacion. - Schema de inputs (
apps/api/src/inngest/operations/schemas.ts): el schema al que apuntainputs_schema_ref. - Composicion (
apps/api/src/substrate/nova-compose.ts): la guia que Nova usa para componer. - Seguridad (
apps/api/src/forge/safety.ts): condicional, solo si la operacion debe ser forjable por FORGE.
Seguridad y forjabilidad
Sección titulada «Seguridad y forjabilidad»El cuarto touchpoint no es un registro obligatorio incondicional: es una decision de negocio. El estado de seguridad de una operacion es uno de:
- eligible_pure: sin efectos externos que requieran forjado.
- allowlisted: tiene binding y su capability esta habilitada en
FORGEABLE_CAPABILITIES. - closed_by_policy: tiene binding pero la capability no esta habilitada, una decision humana deliberada.
- not_applicable: tiene efecto de herramienta pero sin binding declarado.
Una operacion cerrada por politica no queda incompleta salvo que la tarea exija explicitamente que sea forjable.
Templates
Sección titulada «Templates»Sobre las operaciones se construyen templates de trabajo de extremo a extremo, tambien en packages/substrate-spec. Ejemplos reales del catalogo: short-factory, video-render, standup-digest, brief-synthesis, document-extract, document-query, pricing-watch. Cada template encadena operaciones para producir un entregable concreto.
Consultar el catalogo sin leer todo
Sección titulada «Consultar el catalogo sin leer todo»Para trabajar sobre el catalogo sin cargar los ~14K tokens de sus archivos, el proyecto expone un servidor MCP de desarrollo, catalog-mcp, con tres herramientas compactas: buscar operaciones, describir el contrato de una, y verificar que este registrada en los cuatro touchpoints. Ver Herramientas de dev.