Fundamentos Técnicos

Fundamentos técnicos para ingenieros que construyen sistemas espaciales deterministas: contenedores, reproducción y la arquitectura de tres capas que impulsa un estado mundial fiable.

Conceptos Básicos

Asset Core es un motor espacial-transaccional determinista que trata el estado del mundo como una serie de transformaciones atómicas y reproducibles. Cuando las aplicaciones, la automatización o las herramientas de agentes ejecutan operaciones—desde agregar elementos a un contenedor hasta mover entidades a través de una cuadrícula—cada mutación se registra en un registro de compromisos de solo anexado que sirve como la única fuente de verdad. Esto hace que el tiempo de ejecución sea auditable por diseño y permite una recuperación precisa después de fallos.

Esta arquitectura garantiza que:

  • La misma secuencia de eventos siempre produce el mismo estado final (determinismo)
  • Cualquier punto en el tiempo puede ser reconstruido reproduciendo el registro de confirmaciones (replay)
  • El estado interno y las notificaciones externas nunca divergen (consistencia)
  • Todas las operaciones son atómicas y transaccionales (fiabilidad)

Tipos de Contenedores

Los sistemas operan en entornos con diferentes estructuras espaciales. Asset Core proporciona tipos de contenedores de primera clase para cada uno, modelando los contenedores como objetos tipados espacialmente donde cada uno representa un tipo distinto de espacio direccionable. La clave es que el mismo modelo de transacción se aplica en todas partes, por lo que no necesita una infraestructura diferente por tipo de contenedor. El sistema actualmente soporta:

Contenedores 0-Dimensionales

  • Balances: cantidades algebraicas 0D (punto fijo) sin coordenadas espaciales. Se utilizan para moneda, recursos o cualquier cantidad que no ocupe espacio.
  • Slots: Posiciones discretas y numeradas (1, 2, …, N) sin relaciones geométricas. Se utilizan para espacios de equipo, listas ordenadas o posiciones semánticas.

Redes Discretas (1D/2D)

  • 1D Grids (ℤ): Redes lineales con posiciones secuenciales. Soportan la colocación de formas, colisiones y restricciones espaciales a lo largo de un solo eje.
  • Rejillas 2D (ℤ²): Redes bidimensionales (ancho × alto) con semántica geométrica completa. Soporta formas de múltiples celdas, rotación, adyacencia y detección de colisiones.

Espacios Continuos (1D/2D)

  • 1D Continuo (ℝ): Coordenadas de punto fijo a lo largo de una línea para rieles, ascensores y robótica de un solo eje.
  • 2D Continuo (ℝ²): Colocaciones fijas de puntos x/y con rotación para celdas de trabajo de robots y verificaciones de colisión métricas.

Extensible a Dimensiones Superiores

Asset Core se puede extender naturalmente a dimensiones superiores; por ejemplo, a rejillas discretas en 3D o volúmenes continuos, manteniendo el mismo modelo de transacción determinista, garantías de reproducción y ordenación.

Operaciones Universales

Todos los contenedores comparten un conjunto común de operaciones que funcionan de manera consistente a través de espacios dimensionales. Esto hace que las integraciones sean predecibles: una vez que comprendes el sobre de operación, puedes aplicarlo en todas partes.

  • Agregar/Eliminar: Introducir o eliminar cantidades o entidades
  • Mover: Traducir entidades dentro del mismo espacio de contenedor
  • Dividir/Combinar: Divide o combina pilas y cantidades
  • Transferencia: Mover entidades entre diferentes contenedores (transiciones entre espacios)

Estas operaciones preservan el determinismo, son completamente reproducibles y mantienen una semántica consistente, ya sea que se apliquen a saldos 0D o a cuadrículas 2D.

Arquitectura

Cuando un cliente ejecuta una operación que modifica el estado del mundo, Asset Core la procesa a través de tres capas. Esta arquitectura de tres capas está inspirada en los motores de almacenamiento de bases de datos, asegurando una separación clara de preocupaciones y un comportamiento predecible. También es la fuente de la mayoría de los invariantes del sistema, por lo que vale la pena entenderla desde el principio.

Capa de Almacenamiento (L1)

Estructuras de datos de bajo nivel optimizadas para el rendimiento. Utiliza un diseño de Estructura de Arreglos (SoA) con IDs densos para una iteración amigable con la caché y patrones de acceso a la memoria predecibles. Esta capa proporciona primitivas en bruto sin validación ni lógica de negocio.

Capa de Operaciones (L2)

Validación de dominio y orquestación de estado. Esta capa orquesta primitivas de almacenamiento, impone restricciones del mundo (colisión, límites, ajuste de forma), mantiene índices derivados y emite eventos que describen lo que ha cambiado. Las operaciones son deterministas y están completamente validadas antes de ser confirmadas.

Capa de Transacción (L3)

Ejecución atómica con soporte para retroceso. Esta capa coordina los límites de las transacciones, registra información de deshacer para el retroceso y sella las operaciones exitosas en el registro de confirmación. Garantiza que las operaciones sean atómicas e aisladas. Este apilamiento asegura que los caminos críticos para el rendimiento permanezcan rápidos (L1), las reglas del mundo estén centralizadas y sean verificables (L2), y la corrección transaccional se haga cumplir estructuralmente (L3).

Garantías

Asset Core proporciona fuertes garantías de corrección y fiabilidad a través de la reproducción determinista y un registro de confirmaciones de solo anexado.

Repetir

La reproducción es central para las garantías de corrección de Asset Core y permite la reconstrucción perfecta del comportamiento del sistema. El registro de confirmaciones almacena eventos como registros híbridos que contienen tanto:

  • Información de delta: Qué cambió (se añadieron 10 elementos, se movió de la ranura A a la ranura B)
  • Estado posterior: El estado resultante después del cambio (la cantidad final es 50, la entidad ahora está en la posición X)

Esta codificación dual permite:

  • Análisis en tiempo real: La información delta puede impulsar paneles de control, notificaciones y consultas en vivo.
  • Reproducción determinista: El estado posterior define el resultado autoritativo; reproducir la secuencia grabada reproduce el estado original exacto sin deriva acumulativa.
  • Recuperación de fallos: Cualquier proyección (modelo de lectura u observador) puede ser reconstruida a partir del registro de confirmaciones.

La reproducción aplica eventos mecánicamente utilizando solo primitivas de almacenamiento, sin validación ni lógica de reglas del mundo. Esto garantiza que el estado reproducido sea equivalente bit a bit al estado original comprometido.

Registro de Commits

El registro de confirmaciones es una secuencia durable de lotes de eventos sellados que solo se puede agregar, y que sirve como el registro autoritativo de todas las acciones del sistema. Evita escrituras duales internas al hacer del registro la única escritura autoritativa; las proyecciones y notificaciones se derivan de él. Esto mantiene las trazas de auditoría limpias y elimina el estado oculto. Las implementaciones incluyen registros respaldados por archivos para producción, registros en memoria para desarrollo, lectores mapeados en memoria para seguimiento alternativo y backends extensibles para la nube u otros medios de almacenamiento.

Propiedades clave:

  • Los eventos son inmutables una vez comprometidos.
  • Los números de secuencia globales, que aumentan monotonamente, proporcionan un orden total.
  • Los lotes son verificados mediante suma de comprobación para la verificación de integridad.

Este diseño admite el cumplimiento (rutas de auditoría, cadena de custodia), la depuración (reproducción a cualquier estado histórico) y el aislamiento multi-inquilino (historial de confirmaciones con espacio de nombres). Las proyecciones y notificaciones se derivan de eventos confirmados y pueden ser reintentadas de forma independiente sin arriesgar la divergencia.

Ver Ejemplos

Para demostraciones concretas de cada tipo de contenedor, consulte la página de Examples para operaciones JSON ejecutables en espíritu y escenarios aplicados. Para un recorrido detallado con llamadas reales, consulte el Robotic Arm Continuous scenario.