ConceptosConceptos fundamentalesCómo funciona

Concept

Cómo funciona

Arquitectura autorizada y límite público: composición del servidor, ciclo de vida, nodos de subsistemas y límite en la nube.

Arquitectura simplificada: El pipeline de memoria en 7 etapas

XMemo procesa los recuerdos de los agentes mediante un pipeline de 7 etapas (Capture → Scope → Retrieve → Rerank → Assemble → Govern → Consolidate). Cada etapa cumple una función específica para garantizar que las operaciones de memoria sigan siendo rápidas, precisas, aisladas y verificables:

  • Capture: Recibe solicitudes de escritura y actualización de memoria desde clientes de IA mediante el Model Context Protocol (MCP) estándar o API REST, y desinfecta datos confidenciales antes del almacenamiento. Qué significa esto para ti: Tus agentes pueden guardar notas, decisiones y preferencias automáticamente con herramientas estándar sin exponer secretos ni datos personales.
  • Scope: Resuelve el contexto de identidad del emisor y aplica límites multiinquilino estrictos entre niveles de usuario, sesión, agente y espacio de trabajo. Qué significa esto para ti: Cada agente solo accede a la memoria dentro de su límite autorizado, manteniendo separados y seguros los datos personales y de equipo.
  • Retrieve: Busca recuerdos almacenados con un motor híbrido que combina incrustaciones vectoriales semánticas con coincidencias exactas de palabras clave. Qué significa esto para ti: Tu agente recupera los datos correctos tanto si busca por significado temático como por una frase o identificador exacto.
  • Rerank: Evalúa y clasifica los recuerdos candidatos equilibrando relevancia semántica, recientidad y ponderaciones de importancia. Qué significa esto para ti: Tu agente recibe el contexto más relevante y actualizado en lugar de fragmentos de conversación obsoletos o de baja prioridad.
  • Assemble: Empaqueta los recuerdos recuperados en un contexto listo para prompts aplicando estrictamente los presupuestos de tokens y bytes. Qué significa esto para ti: La memoria inyectada nunca desborda la ventana de contexto de tu modelo ni genera costes imprevistos de tokens.
  • Govern: Registra eventos de auditoría operativa, rastrea el historial de versiones (memory_versions) y aplica sobres de cifrado cuando el modo keyguard/vault está activo. Qué significa esto para ti: Cada actualización de memoria es rastreable, verificable y recuperable con total responsabilidad de auditoría.
  • Consolidate: Previsualiza la consolidación de memoria (Dream) para sintetizar interacciones episódicas recientes en información candidata estructurada, requiriendo confirmación humana antes de guardar. Qué significa esto para ti: Se preparan perspectivas útiles para tu revisión sin mutaciones automáticas inesperadas ni ralentizar las conversaciones interactivas de los agentes.

Aspectos internos de la arquitectura / Evidencia

Detalles autorizados de implementación arquitectónica, trazas de ejecución y contratos empíricos verificados directamente con el código base de XMemo. Las siguientes secciones documentan la composición concreta en tiempo de ejecución, los límites aislados de los subsistemas y las matrices de verificación formal.

Invariantes arquitectónicos y principios básicos

XMemo aplica invariantes arquitectónicos no negociables que separan las interfaces de cliente públicas de la ejecución interna. Las capacidades están vinculadas al código fuente y los secretos se protegen bajo la política de cero exposición en texto plano.

  • Cero exposición de secretos en texto plano: Los archivos de configuración del cliente, registros y respuestas públicas de diagnóstico nunca contienen tokens Bearer, cadenas de conexión de base de datos ni claves maestras sin cifrar.
  • Procedencia de origen verificada: Cada memoria persistida, versión y cita lleva metadatos de identidad inmutables y pistas de auditoría vinculadas a contratos de código.
  • Presupuestos deterministas de tokens y bytes: La inyección de contexto respeta estrictamente los límites del llamador, evitando el desbordamiento de la ventana de contexto de LLM.
  • Límites de planes y puertas de enlace: BYODB multinquilino, sincronización distribuida y programación de Dream en segundo plano están controlados por configuraciones de espacio de trabajo, flags de características y límites de plan explícitos.

Composición del servidor y topología del ciclo de vida

La inicialización del servidor desacopla la composición en tiempo de despliegue del flujo de ejecución en tiempo de ejecución. Los clientes no montan el servidor; el servidor Starlette monta FastMCP y lo adapta mediante MemoryOSMcpMountAdapter.

  • Step 1 [HOST_COMPOSITION]: El servidor host Starlette/FastAPI monta FastMCP en /mcp — Relación: SERVER_MOUNTS_APP — Subsistema: Montaje ASGI — Límite: Ingress HTTP público.
  • Step 2 [MOUNT_ADAPTER]: mount_streamable_mcp envuelve streamable_http_app en MemoryOSMcpMountAdapter para gestionar CORS y sondeos SSE — Relación: ADAPTS_ASGI_APP — Subsistema: Adaptador de protocolo — Límite: Puente de protocolo.
  • Step 3 [AUTH_REGISTRATION]: install_mcp_tool_surface registra _call_tool_with_oauth_errors como controlador de herramientas — Relación: REGISTERS_TOOL_WRAPPER — Subsistema: Puerta de identidad y despacho — Límite: Superficie de herramientas autenticada.
+---------------------------------------------------------------------------------------------------+
| [DEPLOYMENT-TIME SERVER COMPOSITION & TOPOLOGY: 2 INDEPENDENT BRANCHES]                           |
|                                                                                                   |
| [BRANCH 1: SERVER ASGI MOUNT BRANCH]                                                              |
|  +-------------------------------------------------------+                                        |
|  | Host ASGI Server (Starlette / FastAPI)                | [PUBLIC_BOUNDARY]                      |
|  | Role: FastMCP Host Ingress Gateway                    | [PUBLIC_BOUNDARY]                      |
|  +-------------------------------------------------------+                                        |
|                             |                                                                     |
|                             | Relation: SERVER_MOUNTS_APP                                         |
|                             | Status: [PUBLIC_BOUNDARY (VERIFIED)]                                |
|                             v                                                                     |
|  +-------------------------------------------------------+                                        |
|  | mount_streamable_mcp                                  | [INTERNAL_SUBSYSTEM]                   |
|  | Role: Streamable HTTP Application Adapter             | [INTERNAL_SUBSYSTEM]                   |
|  +-------------------------------------------------------+                                        |
|                             |                                                                     |
|                             | Relation: ADAPTS_ASGI_APP                                           |
|                             | Status: [INTERNAL_SUBSYSTEM (VERIFIED)]                             |
|                             v                                                                     |
|  +-------------------------------------------------------+                                        |
|  | MemoryOSMcpMountAdapter                               | [PUBLIC_BOUNDARY]                      |
|  | Role: ASGI Protocol Bridge & Connection Handler       | [PUBLIC_BOUNDARY]                      |
|  +-------------------------------------------------------+                                        |
|                                                                                                   |
| [BRANCH 2: TOOL SURFACE REGISTRATION BRANCH]                                                      |
|  +-------------------------------------------------------+                                        |
|  | install_mcp_tool_surface                              | [INTERNAL_SUBSYSTEM]                   |
|  | Role: MCP Tool Surface Registration Pipeline          | [INTERNAL_SUBSYSTEM]                   |
|  +-------------------------------------------------------+                                        |
|                             |                                                                     |
|                             | Relation: REGISTERS_TOOL_WRAPPER                                    |
|                             | Status: [INTERNAL_SUBSYSTEM (VERIFIED)]                             |
|                             v                                                                     |
|  +-------------------------------------------------------+                                        |
|  | FastMCP Tool Ingress Wrapper (_call_tool_with_oauth)  | [PUBLIC_BOUNDARY]                      |
|  | Role: Authenticated Tool Invocation & Error Handler   | [PUBLIC_BOUNDARY]                      |
|  +-------------------------------------------------------+                                        |
+---------------------------------------------------------------------------------------------------+

Trazas de ejecución en tiempo de ejecución

En tiempo de ejecución, las solicitudes siguen cuatro flujos aislados y deterministas regidos por relaciones estrictas y clasificaciones explícitas de límites arquitectónicos:

  • OP_REMEMBER_WRITE [Recordar / Flujo de escritura: 13 pasos]: Cliente externo [PUBLIC_INGRESS] -> MemoryOSMcpMountAdapter [TRANSPORT_ADAPTER] -> Despacho FastMCP ASGI -> Puerta de autenticación -> Herramienta remember -> Puerta de verificación -> Sobre de desinfección PII -> Sobre de seguridad (cifrado cuando el modo keyguard/vault está activo) -> Motor de persistencia. 13 pasos verificados a través de entrada, autorización y persistencia.
  • OP_RECALL_READ [Recuperar / Flujo de lectura: 12 pasos]: Cliente externo [PUBLIC_INGRESS] -> MemoryOSMcpMountAdapter [TRANSPORT_ADAPTER] -> Despacho FastMCP ASGI -> Puerta de autenticación -> Herramienta recall -> Aislamiento multi-inquilino BoundSpace -> Motor de recuperación híbrido -> Reclasificador semántico -> Ensamblador de presupuesto -> Formateador de citas públicas. 12 pasos verificados.
  • OP_UPDATE_VERSION [Actualizar / Flujo de versiones: 13 pasos]: Cliente externo [PUBLIC_INGRESS] -> MemoryOSMcpMountAdapter [TRANSPORT_ADAPTER] -> Despacho FastMCP ASGI -> Puerta de autenticación -> Herramienta update_memory -> Puerta de verificación -> Sobre de desinfección PII -> Sobre de seguridad (cifrado cuando el modo keyguard/vault está activo) -> Motor de persistencia -> Controlador DAG de historial de versiones. 13 pasos verificados.
  • OP_FORGET_LIFECYCLE [Olvidar / Flujo de ciclo de vida: 11 pasos]: Cliente externo [PUBLIC_INGRESS] -> MemoryOSMcpMountAdapter [TRANSPORT_ADAPTER] -> Despacho FastMCP ASGI -> Puerta de autenticación -> Herramienta forget -> Puerta de verificación -> Persistencia de lápida suave -> Demonio de retención -> Filtro de exclusión de búsqueda. 11 pasos verificados.
+------------------------------------------------------------------------------------------------------------------------+
| [RUNTIME EXECUTION TRACES: 4 CANONICAL OPERATION FLOW DIAGRAMS]                                                        |
|                                                                                                                        |
| 1. OP_REMEMBER_WRITE [WRITE INGRESS FLOW: 13 STEPS]                                                                    |
|     Step 1:   External Client --[CLIENT_REQUESTS_ENDPOINT]--> MemoryOSMcpMountAdapter                                  |
|              Boundary: Public Ingress Gateway [PUBLIC_BOUNDARY]                                                        |
|     Step 2:   MemoryOSMcpMountAdapter --[DELEGATES_ASGI_REQUEST]--> FastMCP.streamable_http_app                        |
|              Boundary: ASGI Streamable Mount Adapter [INTERNAL_SUBSYSTEM]                                              |
|     Step 3:   FastMCP --[DISPATCHES_TOOL_INVOCATION]--> _call_tool_with_oauth_errors                                   |
|              Boundary: Tool Surface Ingress Gate [INTERNAL_SUBSYSTEM]                                                  |
|     Step 4:   _call_tool_with_oauth_errors --[DISPATCHES_TOOL]--> remember tool                                        |
|              Boundary: MCP Tool Dispatch Handler [PUBLIC_BOUNDARY]                                                     |
|     Step 5:   remember tool --[CALLS]--> Identity Context Resolver                                                     |
|              Boundary: Identity & Authentication Context [INTERNAL_SUBSYSTEM]                                          |
|     Step 6:   remember tool --[CALLS]--> Workspace Setup Gate                                                          |
|              Boundary: Workspace Initialization Gate [INTERNAL_SUBSYSTEM]                                              |
|     Step 7:   Workspace Setup Gate --[CALLS]--> Initialization Validator                                               |
|              Boundary: Setup Verification Gate [INTERNAL_SUBSYSTEM]                                                    |
|     Step 8:   remember tool --[CALLS]--> Write Preparation Pipeline                                                    |
|              Boundary: Memory Write Preparation [INTERNAL_SUBSYSTEM]                                                   |
|     Step 9:   Write Preparation Pipeline --[CALLS]--> PII Sanitization Envelope                                        |
|              Boundary: Sensitive Data Redaction [INTERNAL_SUBSYSTEM]                                                   |
|     Step 10:  Write Preparation Pipeline --[CALLS]--> Security Envelope (encryption when keyguard/vault mode is active)|
|              Boundary: Cryptographic Security Envelope [INTERNAL_SUBSYSTEM]                                            |
|     Step 11:  remember tool --[CALLS]--> Tenant Isolation Envelope                                                     |
|              Boundary: Multi-Tenant Workspace Binding [INTERNAL_SUBSYSTEM]                                             |
|     Step 12:  remember tool --[CALLS]--> Memory Manager Core Engine                                                    |
|              Boundary: Core Memory Management [INTERNAL_SUBSYSTEM]                                                     |
|     Step 13:  Memory Manager Core Engine --[CALLS]--> Persistence Storage Engine                                       |
|              Boundary: Persistent Storage Engine [INTERNAL_SUBSYSTEM]                                                  |
|                                                                                                                        |
| 2. OP_RECALL_READ [READ RETRIEVAL FLOW: 12 STEPS]                                                                      |
|     Step 1:   External Client --[CLIENT_REQUESTS_ENDPOINT]--> MemoryOSMcpMountAdapter                                  |
|              Boundary: Public Ingress Gateway [PUBLIC_BOUNDARY]                                                        |
|     Step 2:   MemoryOSMcpMountAdapter --[DELEGATES_ASGI_REQUEST]--> FastMCP.streamable_http_app                        |
|              Boundary: ASGI Streamable Mount Adapter [INTERNAL_SUBSYSTEM]                                              |
|     Step 3:   FastMCP --[DISPATCHES_TOOL_INVOCATION]--> _call_tool_with_oauth_errors                                   |
|              Boundary: Tool Surface Ingress Gate [INTERNAL_SUBSYSTEM]                                                  |
|     Step 4:   _call_tool_with_oauth_errors --[DISPATCHES_TOOL]--> recall tool                                          |
|              Boundary: MCP Tool Dispatch Handler [PUBLIC_BOUNDARY]                                                     |
|     Step 5:   recall tool --[CALLS]--> Search Memory Implementation                                                    |
|              Boundary: Search Query Coordinator [INTERNAL_SUBSYSTEM]                                                   |
|     Step 6:   Search Memory Implementation --[CALLS]--> Identity Context Resolver                                      |
|              Boundary: Identity & Authentication Context [INTERNAL_SUBSYSTEM]                                          |
|     Step 7:   Search Memory Implementation --[CALLS]--> BoundSpace Multi-Tenant Isolation                              |
|              Boundary: Scope Isolation Boundary [INTERNAL_SUBSYSTEM]                                                   |
|     Step 8:   Search Memory Implementation --[CALLS]--> Memory Manager Search Service                                  |
|              Boundary: Core Search Controller [INTERNAL_SUBSYSTEM]                                                     |
|     Step 9:   Memory Manager Search Service --[CALLS]--> Hybrid Retrieval Engine                                       |
|              Boundary: Hybrid Vector & Text Retrieval [INTERNAL_SUBSYSTEM]                                             |
|     Step 10:  Hybrid Retrieval Engine --[CALLS]--> Semantic Relevance Reranker                                         |
|              Boundary: Candidate Scorer & Reranker [INTERNAL_SUBSYSTEM]                                                |
|     Step 11:  Hybrid Retrieval Engine --[CALLS]--> Response Budget Assembler                                           |
|              Boundary: Token & Byte Budget Manager [INTERNAL_SUBSYSTEM]                                                |
|     Step 12:  Response Budget Assembler --[CALLS]--> Public Citation & Receipt Formatter                               |
|              Boundary: Provenance Citation Formatter [PUBLIC_BOUNDARY]                                                 |
|                                                                                                                        |
| 3. OP_UPDATE_VERSION [VERSIONING & CORRECTION FLOW: 13 STEPS]                                                          |
|     Step 1:   External Client --[CLIENT_REQUESTS_ENDPOINT]--> MemoryOSMcpMountAdapter                                  |
|              Boundary: Public Ingress Gateway [PUBLIC_BOUNDARY]                                                        |
|     Step 2:   MemoryOSMcpMountAdapter --[DELEGATES_ASGI_REQUEST]--> FastMCP.streamable_http_app                        |
|              Boundary: ASGI Streamable Mount Adapter [INTERNAL_SUBSYSTEM]                                              |
|     Step 3:   FastMCP --[DISPATCHES_TOOL_INVOCATION]--> _call_tool_with_oauth_errors                                   |
|              Boundary: Tool Surface Ingress Gate [INTERNAL_SUBSYSTEM]                                                  |
|     Step 4:   _call_tool_with_oauth_errors --[DISPATCHES_TOOL]--> update_memory tool                                   |
|              Boundary: MCP Tool Dispatch Handler [PUBLIC_BOUNDARY]                                                     |
|     Step 5:   update_memory tool --[CALLS]--> Identity Context Resolver                                                |
|              Boundary: Identity & Authentication Context [INTERNAL_SUBSYSTEM]                                          |
|     Step 6:   update_memory tool --[CALLS]--> Workspace Setup Gate                                                     |
|              Boundary: Workspace Initialization Gate [INTERNAL_SUBSYSTEM]                                              |
|     Step 7:   update_memory tool --[CALLS]--> Scope Validation Gate                                                    |
|              Boundary: Workspace Scope Boundary [INTERNAL_SUBSYSTEM]                                                   |
|     Step 8:   update_memory tool --[CALLS]--> Write Preparation Pipeline                                               |
|              Boundary: Memory Write Preparation [INTERNAL_SUBSYSTEM]                                                   |
|     Step 9:   Write Preparation Pipeline --[CALLS]--> PII Sanitization Envelope                                        |
|              Boundary: Sensitive Data Redaction [INTERNAL_SUBSYSTEM]                                                   |
|     Step 10:  update_memory tool --[CALLS]--> Tenant Isolation Envelope                                                |
|              Boundary: Multi-Tenant Workspace Binding [INTERNAL_SUBSYSTEM]                                             |
|     Step 11:  update_memory tool --[CALLS]--> Memory Manager Core Engine                                               |
|              Boundary: Core Memory Management [INTERNAL_SUBSYSTEM]                                                     |
|     Step 12:  Memory Manager Core Engine --[CALLS]--> Persistence Storage Engine                                       |
|              Boundary: Persistent Storage Engine [INTERNAL_SUBSYSTEM]                                                  |
|     Step 13:  Persistence Storage Engine --[CALLS]--> Immutable Version DAG Controller                                 |
|              Boundary: Version DAG Supersession Engine [INTERNAL_SUBSYSTEM]                                            |
|                                                                                                                        |
| 4. OP_FORGET_LIFECYCLE [RETENTION & LIFECYCLE FLOW: 11 STEPS]                                                          |
|     Step 1:   External Client --[CLIENT_REQUESTS_ENDPOINT]--> MemoryOSMcpMountAdapter                                  |
|              Boundary: Public Ingress Gateway [PUBLIC_BOUNDARY]                                                        |
|     Step 2:   MemoryOSMcpMountAdapter --[DELEGATES_ASGI_REQUEST]--> FastMCP.streamable_http_app                        |
|              Boundary: ASGI Streamable Mount Adapter [INTERNAL_SUBSYSTEM]                                              |
|     Step 3:   FastMCP --[DISPATCHES_TOOL_INVOCATION]--> _call_tool_with_oauth_errors                                   |
|              Boundary: Tool Surface Ingress Gate [INTERNAL_SUBSYSTEM]                                                  |
|     Step 4:   _call_tool_with_oauth_errors --[DISPATCHES_TOOL]--> forget tool                                          |
|              Boundary: MCP Tool Dispatch Handler [PUBLIC_BOUNDARY]                                                     |
|     Step 5:   forget tool --[CALLS]--> Identity Context Resolver                                                       |
|              Boundary: Identity & Authentication Context [INTERNAL_SUBSYSTEM]                                          |
|     Step 6:   forget tool --[CALLS]--> Workspace Setup Gate                                                            |
|              Boundary: Workspace Initialization Gate [INTERNAL_SUBSYSTEM]                                              |
|     Step 7:   forget tool --[CALLS]--> Memory Manager Core Engine                                                      |
|              Boundary: Core Memory Management [INTERNAL_SUBSYSTEM]                                                     |
|     Step 8:   Memory Manager Core Engine --[CALLS]--> Persistence Storage Engine                                       |
|              Boundary: Persistence Tombstone Engine [INTERNAL_SUBSYSTEM]                                               |
|     Step 9:   Background Lifecycle Daemon --[BATCH_POLICY_EVALUATION]--> Retention Policy Evaluator                    |
|              Boundary: Archive Policy Evaluation [INTERNAL_SUBSYSTEM]                                                  |
|     Step 10:  Background Lifecycle Daemon --[BATCH_POLICY_EVALUATION]--> Importance Decay Evaluator                    |
|              Boundary: Importance Decay Engine [INTERNAL_SUBSYSTEM]                                                    |
|     Step 11:  Hybrid Retrieval Engine --[EXCLUDES_AT_QUERY]--> Database Storage Engine                                 |
|              Boundary: Query-Time Tombstone Filter [INTERNAL_SUBSYSTEM]                                                |
+------------------------------------------------------------------------------------------------------------------------+

Descomposición de subsistemas y clasificación de límites

El sistema se descompone en diez nodos de subsistemas verificados. Cada nodo lleva una clasificación estricta de límites (PUBLIC_BOUNDARY o INTERNAL_SUBSYSTEM) y un estado de evidencia empírico (SOURCE_BACKED_PUBLIC_CONTRACT / VERIFIED, CONCEPTUAL_DELEGATED o NOT_VERIFIED):

  • NODE_1_CLIENT_AGENT_LAYER: Ecosistema de cliente y agente (@xmemo/client, Claude Desktop, Cursor, Codex) — Clasificación: [PUBLIC_BOUNDARY] — Estado de evidencia: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_2_TRANSPORT_ADAPTER: Adaptador de transporte y protocolo MCP (MemoryOSMcpMountAdapter, mount_streamable_mcp) — Clasificación: [PUBLIC_BOUNDARY] — Estado de evidencia: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_3_IDENTITY_AUTH_GATE: Puerta de identidad y autorización (_call_tool_with_oauth_errors, install_mcp_tool_surface) — Clasificación: [PUBLIC_BOUNDARY] — Estado de evidencia: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_4_SANITIZATION_ENVELOPE: Desinfección de PII y sobre de seguridad (sanitize_server_write, enforce_memory_write_envelope) — Clasificación: [INTERNAL_SUBSYSTEM] — Estado de evidencia: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_5_SCOPE_ISOLATION_GUARD: Guardia de aislamiento de espacio y multinquilino (BoundSpace, assert_requested_team_matches_bound_space) — Clasificación: [INTERNAL_SUBSYSTEM] — Estado de evidencia: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_6_SEARCH_TEMPORAL_PARSER: Analizador de consultas temporales y búsqueda (TemporalQuerySpec, extract_temporal_context) — Clasificación: [INTERNAL_SUBSYSTEM] — Estado de evidencia: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_7_CANDIDATE_SCORER: Puntuador y reclasificador de candidatos (SearchEngine.rerank_recall_results) — Clasificación: [INTERNAL_SUBSYSTEM] — Estado de evidencia: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_8_VERSION_LIFECYCLE_ENGINE: Controlador de versiones y ciclo de vida (VersionController.superseded_snapshot) — Clasificación: [INTERNAL_SUBSYSTEM] — Estado de evidencia: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_9_CONTEXT_BUDGET_ASSEMBLER: Ensamblador de presupuesto de contexto (_apply_recall_response_budget) — Clasificación: [INTERNAL_SUBSYSTEM] — Estado de evidencia: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_10_PUBLIC_RECEIPT_CITATION: Formateador de citas y recibos públicos (_public_recall_meta) — Clasificación: [PUBLIC_BOUNDARY] — Estado de evidencia: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].

Límite entre código abierto y servicio en la nube administrado

Las declaraciones arquitectónicas públicas se evalúan con respecto al contrato de código y se clasifican estrictamente como VERIFIED o NOT_VERIFIED:

  • STMT_01_PROVENANCE_ATTRIBUTION [VERIFIED]: XMemo registra eventos de auditoría operativa, conserva el historial de versiones (memory_versions) y aplica sobres de cifrado cuando el modo keyguard/vault está habilitado. Arquitectura: Sobre de seguridad criptográfica.
  • STMT_02_CROSS_CLIENT_CONTINUITY [VERIFIED]: Las memorias capturadas están disponibles al instante en cualquier cliente compatible con MCP mediante JSON-RPC. Arquitectura: Adaptador ASGI FastMCP de transmisión.
  • STMT_03_REALTIME_CORRECTION [VERIFIED]: Las actualizaciones de hechos mantienen un historial inmutable reemplazando memorias anteriores en conflicto. Arquitectura: Controlador DAG de versiones inmutables.
  • STMT_04_TOKEN_BUDGET_GUARANTEE [VERIFIED]: La inyección de contexto de recuperación respeta estrictamente los presupuestos especificados. Arquitectura: Ensamblador de presupuesto de tokens determinista.
  • STMT_05_ZERO_TOKEN_EXPOSURE [VERIFIED]: Las solicitudes no autenticadas se deniegan en la puerta de enlace sin exponer tokens. Arquitectura: Puerta de autenticación de entrada y aislamiento de ámbito.
  • STMT_06_BACKEND_OPEN_SOURCE_CLAIM [NOT_VERIFIED]: La afirmación de backend 100% de código abierto queda REFUTADA. Solo los paquetes de cliente (@xmemo/client) y adaptadores locales MCP son de código abierto. La infraestructura en la nube multinquilino es propietaria.
  • STMT_07_AUTONOMOUS_CONSENSUS_CLAIM [NOT_VERIFIED]: El consenso autónomo entre organizaciones queda REFUTADO. El aislamiento entre inquilinos es estricto; no existe fusión automática interorganizacional.
  • STMT_08_ZERO_LATENCY_REPLICATION_CLAIM [NOT_VERIFIED]: La replicación global con latencia cero queda REFUTADA. La búsqueda utiliza índices vectoriales locales; no se garantiza latencia cero global.

Recorrido reproducible del ciclo de vida de la arquitectura (Ejemplo sintético A/B)

Un recorrido verificable paso a paso del ciclo de vida que demuestra el intercambio de memoria entre agentes, el aislamiento multiinquilino, la corrección del usuario en tiempo real y el seguimiento inmutable de procedencia con datos de demostración estrictamente sintéticos:

  • Step 1 [AGENT_A_WRITE]: Agente A (ide-assistant-alpha) escribe preferencia sintética mediante remember tool en el ámbito project:synthetic-demo — Payload: {'formatting': 'tabs', 'indent': 4} — Claim: [STMT_01_PROVENANCE_ATTRIBUTION] & [STMT_02_CROSS_CLIENT_CONTINUITY] — Receipt: mem-synth-pref-001@v1, digest sha256:7f83b165 — Status: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)] — Boundary: [DEMO_DATA: SYNTHETIC].
  • Step 2 [AGENT_B_RECALL]: Agente B (terminal-assistant-beta) recupera la preferencia dentro del ámbito autorizado project:synthetic-demo mediante recall tool — Query: 'code formatting indent' — Claim: [STMT_02_CROSS_CLIENT_CONTINUITY] & [STMT_04_TOKEN_BUDGET_GUARANTEE] — Receipt: mem-synth-pref-001@v1 cited, score 0.94, bounded budget — Status: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)] — Boundary: [DEMO_DATA: SYNTHETIC].
  • Step 3 [UNAUTHORIZED_DENIAL]: Agente no autorizado (rogue-guest-gamma) intenta acceso interinquilino a project:synthetic-demo sin credenciales válidas — Gate: Scope Isolation & Auth Gateway — Claim: [STMT_05_ZERO_TOKEN_EXPOSURE] — Outcome: AUTH_SCOPE_DENIED (HTTP 403), zero data leakage, zero storage mutation verified by database snapshot byte equality — Status: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)] — Boundary: [DEMO_DATA: SYNTHETIC].
  • Step 4 [USER_CORRECTION]: El usuario corrige el estándar de formato mediante update_memory tool — Payload: {'formatting': 'spaces', 'indent': 2}, reason: 'team style guide update' — Controller: Version DAG Controller — Claim: [STMT_03_REALTIME_CORRECTION] — Receipt: mem-synth-pref-001@v2, supersedes v1, parent_digest sha256:7f83b165 — Status: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)] — Boundary: [DEMO_DATA: SYNTHETIC].
  • Step 5 [LATER_RECALL_V2]: La consulta de recuperación posterior selecciona la versión 2 actualizada mientras SearchEngine excluye estrictamente la versión 1 sustituida — Query: 'indentation preference' — Claim: [STMT_03_REALTIME_CORRECTION] & [STMT_04_TOKEN_BUDGET_GUARANTEE] — Outcome: Active recall context injects only v2 (spaces, 2) — Status: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)] — Boundary: [DEMO_DATA: SYNTHETIC].
  • Step 6 [PROVENANCE_DAG]: Inspección de auditoría del historial de versiones mediante Version Controller — Chain: v1 (initial write by ide-assistant-alpha) -> v2 (superseded_by user correction) — Claim: [STMT_01_PROVENANCE_ATTRIBUTION] — Verification: Historial de versiones y punteros principales totalmente inspeccionables — Status: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)] — Boundary: [DEMO_DATA: SYNTHETIC].
  • Step 7 [STATE_RESET]: Los controles de sandbox restablecibles devuelven el ámbito project:synthetic-demo a un estado inicial limpio — Action: Desmontaje determinista y purga de estado — Claim: [STMT_05_ZERO_TOKEN_EXPOSURE] — Receipt: reset_status CLEARED, 0 residual rows, zero persistent side effects — Status: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)] — Boundary: [DEMO_DATA: SYNTHETIC].
  • Boundary Notice [NOT_VERIFIED]: Las canalizaciones de facturación multiinquilino en la nube [STMT_06_BACKEND_OPEN_SOURCE_CLAIM], el consenso autónomo entre organizaciones [STMT_07_AUTONOMOUS_CONSENSUS_CLAIM] y la replicación global de latencia cero [STMT_08_ZERO_LATENCY_REPLICATION_CLAIM] son [NOT_VERIFIED] y quedan excluidos de este tiempo de ejecución de código abierto local.
+------------------------------------------------------------------------------------------------------------------------+
| [REPRODUCIBLE ARCHITECTURE LIFECYCLE WALKTHROUGH: SYNTHETIC A/B PREFERENCE SHARING & CORRECTION]                       |
|                                                                                                                        |
|  Agent A (IDE)               XMemo Gateway & Engines            Agent B (CLI)              Unauthorized Agent (Guest)  |
|  [ide-assistant-alpha]       [FastMCP / Storage / Scope]        [terminal-assistant-beta]  [rogue-guest-gamma]         |
|         |                               |                              |                              |                |
|  (1) remember(pref: tabs, 4)            |                              |                              |                |
|  -------------------------------------> |                              |                              |                |
|         |                          [Write v1, Hash: 7f83b1]            |                              |                |
|  <------------------------------------- |                              |                              |                |
|    Receipt: mem-001@v1                  |                              |                              |                |
|         |                               |      (2) recall(pref)        |                              |                |
|         |                               | <--------------------------- |                              |                |
|         |                               |  [Scope Match: synth-demo]   |                              |                |
|         |                               | ---------------------------> |                              |                |
|         |                               |   Citation: mem-001@v1       |                              |                |
|         |                               |                              |   (3) recall(foreign tenant) |                |
|         |                               | <---------------------------------------------------------- |                |
|         |                               |                          [BoundSpace Check: MISMATCH]       |                |
|         |                               | ----------------------------------------------------------> |                |
|         |                               |                          DENIED: AUTH_SCOPE_DENIED (Zero Mutation)           |
|         |                               |                              |                              |                |
|  (4) update_memory(pref: spaces, 2)     |                              |                              |                |
|  -------------------------------------> |                              |                              |                |
|         |                          [Write v2, parent: v1]              |                              |                |
|  <------------------------------------- |                              |                              |                |
|    Receipt: mem-001@v2 (supersedes v1)  |                              |                              |                |
|         |                               |      (5) recall(pref)        |                              |                |
|         |                               | <--------------------------- |                              |                |
|         |                               |  [Exclude v1, Select v2]     |                              |                |
|         |                               | ---------------------------> |                              |                |
|         |                               |   Citation: mem-001@v2       |                              |                |
|         |                               |                              |                              |                |
|  (6) inspect_provenance(mem-001)        |                              |                              |                |
|  -------------------------------------> |                              |                              |                |
|  <------------------------------------- |                              |                              |                |
|    DAG: v1 (Hash: 7f83) -> v2 (Hash: 4d82)                             |                              |                |
|         |                               |                              |                              |                |
|  (7) reset_synthetic_state()            |                              |                              |                |
|  -------------------------------------> | [Purge demo scope]           |                              |                |
|  <------------------------------------- | 0 residual rows              |                              |                |
+------------------------------------------------------------------------------------------------------------------------+

Navegación de conceptos profundos y seguridad

Explore dominios arquitectónicos específicos a través de nuestra documentación detallada de conceptos y seguridad:

  • Modelo de datos de memoria (/docs/concepts/memory-model): Estructuras de entidad, categorías semánticas y capas de representación.
  • Procedencia y atribución (/docs/concepts/provenance-attribution): Pistas de auditoría y atribución.
  • Espacios de memoria de proyecto (/docs/concepts/projects): Asociación verificada de proyectos mediante enrutamiento de rutas de espacio de trabajo y aislamiento de límites de proyectos personales.
  • Consolidación de memoria y Dream (/docs/concepts/dream-reflection): Consolidación de previsualización de candidatos, revisión explícita de destinos y políticas de mantenimiento.
  • Bases de conocimiento externas (/docs/concepts/knowledge-bases): Indexación de documentos, estrategias de fragmentación y citas.
  • Límite de datos y seguridad (/docs/security/data-boundary): Delimitación integral entre capacidades autohospedadas y servicios en la nube SaaS.

Flujos de roles

Usuario de ChatGPT

Dale a ChatGPT acceso duradero a tus preferencias de XMemo, datos de proyecto, decisiones y TODOs sin pegar fichas bearer en un chat.

Guarde una nota de preferencia sintética o de proyecto, inicie un nuevo chat y luego pida a ChatGPT que la recuerde a través de XMemo antes de continuar el trabajo.

Copiloto / Codex desarrollador

Lleve decisiones de repo, convenciones de codificación, notas de corrección de errores e historial de tareas entre los agentes IDE y CLI.

Grabe una decisión de base de código o corrección de errores, y luego pida al siguiente agente IDE o CLI que recuerde el contexto XMemo relevante antes de editarlo.

Equipo / propietario del piloto de la empresa

Evalúe la memoria compartida con controles de cuenta, atribución de origen, flujos de trabajo export/delete y pruebas de configuración seguras para los revisores.

Haga que un miembro piloto guarde una memoria sintética del equipo, confirme la atribución de origen en XMemo, luego revise delete/export y las rutas de soporte.

Fuente: Cómo funciona