Código canónico e identidad estable
El código .spx legible sigue siendo canónico en Git. Los valores @id identifican declaraciones independientemente de cambios de nombre admitidos. La revisión vincula código canónico y prelude implícito del compilador, no posiciones accidentales ni el formato serializado del grafo.
Contexto limitado y proyecciones compactas
Context v1/v2 limita profundidad, nodos y bytes; v2 añade recorrido direccional. El contexto por tarea y las proyecciones text, binary y model-text permiten intercambios enfocados con comprobación por replay. Menos bytes no implica menos tokens facturados ni mejores respuestas.
Cambios semánticos, no reescrituras arbitrarias
Inspeccionar contexto, derivar candidato, revisar impacto, reproducir comprobaciones y autorizar la aplicación explícitamente. Además de renombrar hay reemplazo limitado de expresiones, cambios estructurales y composición rebase/merge definida. Cada protocolo conserva sus límites de revisión, identidad y operación.
La publicación controlada es un límite independiente
Las generaciones de workspace, evidencia de candidatos, almacén de revisiones y flujos MCP mantienen autoridad explícita de escritura y publicación. Validar varios archivos no actualiza atómicamente rutas arbitrarias, Git o editores. La API de integración Rust ofrece límites, cancelación y sesiones opacas, no acceso libre al host.
Un lenguaje más completo para tareas cotidianas
Los perfiles admiten records, variantes, clases, herencia, genéricos, Option/Result, mutación explícita, bucles, colecciones, iteradores, valores de función y closures limitados. Texto, bytes y biblioteca incluida permiten programas útiles. Capturas propietarias, restricciones genéricas generales y combinaciones arbitrarias siguen limitadas.
Ownership y limpieza reproducible
Se implementan valores propios y prestados, planes de limpieza, hechos de préstamos y composiciones seleccionadas de recursos/genéricos. v0.5.0 añade String propio como carga directa de variantes; las sustituciones genéricas String y records propios anidados siguen restringidos. No es un sistema general completo de lifetimes ni compatibilidad Rust.
Agentes de ejecución tipados
Inicializar, observar, proponer, decodificar, autorizar, ejecutar y reducir. El reducer validado decide Continue, Complete, Suspend o Fail; se autoriza de nuevo en cada turno. Los esquemas Proposal compilados limitan streaming y decodificación antes de efectos. Las etapas Agent de código se ejecutan en el intérprete retenido, sin paridad nativa/Wasm.
Presupuestos, recuperación duradera y llamadas al modelo
Los adaptadores explícitos aportan credenciales, transporte y almacenamiento. Los límites cubren llamadas, tokens, bytes, plazos y costes cotizados. Los perfiles duraderos confirman intención antes de enviar y rechazan reenvíos inciertos. El host genérico admite retry/failover limitado; la ruta source-model ligada no reintenta ni cambia proveedor automáticamente. Uso observado no equivale a facturación garantizada.
Experimentos de aplicaciones y agentes económicos
HTTPS POST validado, autenticación/sesiones del host Rust y jobs con checkpoints son perfiles separados, no un framework web completo. Los agentes económicos exploran intenciones de pago, simulación, aprobación y conciliación con wallets y firma del host. Una propuesta no autoriza pagos ni garantiza liquidación exactamente una vez.
Interfaces generadas específicas por perfil
Project v8 transporta Bytes y formas concretas de Option/Result; v9 añade records propios planos, v10 UTF-8 propio y v11 records propios anidados. Consumidores native/Rust y npm/Wasm, transportes privados y metadatos genéricos tienen contratos separados. Publicar toolchain, paquetes y soporte público son decisiones distintas.