Conceptos básicos
Ato describe un Computation(cómputo) por lo que todavía puede hacer y mantiene un punto sellado de ese Computation separado de la forma en que el punto se produce físicamente de nuevo. Los términos de abajo son el vocabulario que usan el resto de las guías para desarrolladores.
Mantén las distinciones: una continuación no es un Capsule(una cápsula), un Capsule no es un Run(una ejecución), un Record(un registro) no es el Computation que describe y una Materialization(una materialización) no es la identidad de nada.
Computation
Un Computation es el trabajo que queda desde un punto actual. No es una transcripción de todo lo que ocurrió antes de ese punto: los pasos completados desaparecen y lo que importa es lo que todavía puede ocurrir desde aquí.
Una interacción evoluciona un Computation hacia el siguiente:
C ──α──▶ C'
Las interacciones incluyen un proceso que escribe en su salida estándar, un usuario que escribe un comando o una solicitud de red que llega. La composición construye un Computation más grande a partir de otros más pequeños conectados mediante Port(puertos).
Contract
Un Contract(contrato) es una condición observable sobre un Computation: "la compilación se realizó correctamente", "el error del compilador se reproduce", "el servidor responde a GET /health con 200".
C ⊨ K
Un Contract dice qué debe cumplirse para que un Computation futuro cuente como el mismo tipo de punto. Es un predicado, no un artefacto. Un Record puede mostrar que un Contract se cumplió en una observación, pero el Record no se convierte en el Contract.
Capsule
Un Capsule es un punto sellado, inmutable y direccionable de un Computation: una continuación abierta y persistente que se puede preservar, pasar, reanudar, componer y bifurcar.
El wire v2 con raíz de Computation usa ComputationRef; Portable Application wire v3/v4 usa ContractRef. No son intercambiables. Consulta Portable Capsules (inglés).
Run
Un Run es una evaluación en vivo reanudada desde un Capsule. El sellado es inmutable; un Run avanza a medida que ocurren interacciones.
Capsule immutable
Run evolving
Record evidence
Dos Run reanudados desde el mismo Capsule se desarrollan por separado sin cambiar el punto del que partieron.
Record
Un Record es evidencia duradera de que se observó una interacción. Los Record son la forma en que se conserva el historial de un Run y en que Replay(la repetición) reconstruye un punto en otra máquina.
Un Record explica cómo un Run llegó a un punto. No es el punto en sí y no redefine el Capsule.
Materialization
Una Materialization es una forma física de realizar un Capsule lógico en un host concreto. El Capsule responde "¿desde dónde debo continuar?"; la Materialization responde "¿cómo vuelvo allí en esta máquina?".
logical continuation != physical realization
Añadir, reemplazar o quitar una Materialization compatible no crea un Capsule nuevo.
Estado actual:
- Wire v2 con raíz Computation puede usar Replay (
ato.replay@1) mediante los Adapter disponibles. Portable Application v3/v4 usa la Derivation seleccionada. - Una instantánea de espacio de trabajo (
ato.snapshot@1) se puede capturar y verificar, pero todavía no puede restaurar un punto por sí sola. - Un materializador de instantáneas de VM ofrece una interfaz de restauración, pero requiere un backend adecuado y un host compatible; no garantiza la reanudación entre hosts arbitrarios.
Binding
Un Binding(una vinculación) asigna un requisito lógico a un recurso de tiempo de ejecución concreto. Un Port que necesita una terminal está vinculado a un PTY real; un Port de espacio de trabajo está vinculado a un directorio real en disco.
Los Binding se resuelven en cada ejecución. No entran en la identidad del Capsule.
Ports y Protocol
Un Port(un puerto) es un límite tipado para la interacción en un Computation. Su Protocol y su rol deciden qué interacciones son válidas. La composición conecta Port entre sí; un tiempo de ejecución conecta un Port a un endpoint físico mediante un Binding.
Dónde termina el modelo
La ejecución entre hosts solo está disponible para rutas y entornos compatibles; no es una garantía universal. Consulta Portable Capsules (inglés).