개념핵심 개념작동 원리

Concept

작동 원리

신뢰할 수 있는 아키텍처 및 공용 경계: 서버 구성, 수명 주기, 서브시스템 노드 및 클라우드 경계.

간소화된 아키텍처: 7단계 메모리 파이프라인

XMemo는 7단계 파이프라인(Capture → Scope → Retrieve → Rerank → Assemble → Govern → Consolidate)을 통해 에이전트 메모리를 처리합니다. 각 단계는 메모리 작업의 신속성, 정확성, 경계 격리, 검증 가능성을 보장하기 위해 전용 책임을 수행합니다:

  • Capture: 표준 Model Context Protocol(MCP) 또는 REST API를 통해 AI 클라이언트의 메모리 작성 및 업데이트 요청을 수신하고, 저장 전에 민감한 데이터를 정제합니다. 사용자에게 미치는 영향: 에이전트는 비밀이나 개인정보를 노출하지 않고 표준 도구를 통해 메모, 결정 사항, 선호도를 자동으로 저장할 수 있습니다.
  • Scope: 호출자의 ID 컨텍스트를 확인하고 사용자, 세션, 에이전트, 워크스페이스 계층에 걸쳐 엄격한 멀티테넌트 경계를 적용합니다. 사용자에게 미치는 영향: 각 에이전트는 승인된 경계 내의 메모리에만 접근하므로 개인 데이터와 팀 데이터가 안전하게 격리됩니다.
  • Retrieve: 벡터 의미 임베딩과 정확한 키워드 매칭을 결합한 하이브리드 검색 엔진을 사용하여 저장된 메모리를 검색합니다. 사용자에게 미치는 영향: 에이전트는 주제의 의미로 검색하든 정확한 문구나 식별자로 검색하든 올바른 팩트를 정확히 회상합니다.
  • Rerank: 의미론적 관련성, 최신성, 중요도 가중치를 종합적으로 평가하여 후보 메모리를 채점합니다. 사용자에게 미치는 영향: 에이전트는 오래되거나 우선순위가 낮은 대화 조각 대신 가장 관련성 높고 최신의 컨텍스트를 제공받습니다.
  • Assemble: 호출자가 지정한 토큰 및 바이트 예산을 엄격히 준수하면서 회상된 메모리를 프롬프트 준비 컨텍스트로 패키징합니다. 사용자에게 미치는 영향: 주입된 메모리가 모델의 컨텍스트 창을 초과하거나 예상치 못한 토큰 비용을 유발하지 않습니다.
  • Govern: 운영 감사 로그를 기록하고, 버전 기록(memory_versions)을 추적하며, 키가드/볼트 모드가 활성화된 경우 암호화 봉투를 적용합니다. 사용자에게 미치는 영향: 모든 메모리 업데이트는 완전한 감사 책임을 바탕으로 추적, 검증 및 복구할 수 있습니다.
  • Consolidate: 최근 에피소드 상호작용을 구조화된 후보 인사이트로 합성하기 위해 메모리 통합(Dream)을 미리 보여주며, 저장하기 전에 사람의 확인이 필요합니다. 사용자에게 미치는 영향: 자동적이고 예기치 않은 변경 없이, 대화형 에이전트 채팅을 지연시키지도 않으면서 검토를 위한 유용한 인사이트가 준비됩니다.

아키텍처 내부 구조 / 근거

XMemo 코드베이스에 대해 직접 검증된 신뢰할 수 있는 아키텍처 구현 세부사항, 실행 추적 및 실증적 계약입니다. 다음 섹션에서는 구체적인 런타임 구성, 격리된 하위 시스템 경계 및 공식 검증 매트릭스를 문서화합니다.

아키텍처 불변조건 및 핵심 원칙

XMemo는 공용 클라이언트 표면과 내부 서브시스템 실행을 엄격히 분리하는 불변 원칙을 따릅니다. 모든 기능은 코드 근거에 귀속되며, 비공개 토폴로지 및 클러스터 키는 평문 비밀 유출 제로 원칙 하에 보호됩니다.

  • 평문 비밀 유출 제로: 클라이언트 설정 파일, 로그 및 진단 응답에 암호화되지 않은 Bearer 토큰이나 DB 연결 문자열이 포함되지 않습니다.
  • 검증된 출처 증명: 저장된 모든 기억, 버전 및 인용은 불변의 메타데이터와 감사 추적을 유지합니다.
  • 결정론적 토큰 및 바이트 예산: 호출자가 지정한 제한을 엄격히 준수하여 LLM 컨텍스트 초과를 방지합니다.
  • 플랜 및 기능 게이트 경계: 멀티 테넌트 BYODB, 분산 동기화 및 백그라운드 Dream 스케줄링은 명시적 워크스페이스 설정, 기능 플래그 및 플랜 경계로 통제됩니다.

서버 구성 및 수명 주기 토폴로지

서버 초기화는 배포 시 구성 및 도구 등록을 요청별 실행 경로와 엄격히 분리합니다. 클라이언트는 서버를 직접 마운트하지 않으며, 호스트 서버가 FastMCP ASGI 앱을 마운트하고 어댑터를 통해 연결합니다.

  • Step 1 [HOST_COMPOSITION]: Starlette/FastAPI 호스트 서버가 /mcp 경로에 FastMCP ASGI 앱을 마운트 — 관계: SERVER_MOUNTS_APP — 서브시스템: ASGI 서버 마운트 — 경계: 퍼블릭 HTTP 수신.
  • Step 2 [MOUNT_ADAPTER]: mount_streamable_mcp가 streamable_http_app을 MemoryOSMcpMountAdapter로 감싸 CORS 및 스코프를 처리 — 관계: ADAPTS_ASGI_APP — 서브시스템: 스트리밍 프로토콜 어댑터 — 경계: 프로토콜 브리지.
  • Step 3 [AUTH_REGISTRATION]: install_mcp_tool_surface가 _call_tool_with_oauth_errors를 call_tool 핸들러로 등록 — 관계: REGISTERS_TOOL_WRAPPER — 서브시스템: 신원 및 툴 디스패치 게이트 — 경계: 인증된 툴 서피스.
+---------------------------------------------------------------------------------------------------+
| [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]                      |
|  +-------------------------------------------------------+                                        |
+---------------------------------------------------------------------------------------------------+

런타임 실행 추적

런타임 시 클라이언트 요청은 4개의 독립적이고 결정론적인 작업 흐름에 따라 실행됩니다. 모든 단계는 엄격한 호출 관계와 명시적 아키텍처 경계 분류를 따릅니다:

  • OP_REMEMBER_WRITE [기억 / 쓰기 추적: 13단계]: 외부 클라이언트 [PUBLIC_INGRESS] -> MemoryOSMcpMountAdapter [TRANSPORT_ADAPTER] -> FastMCP ASGI 디스패치 -> 툴 인증 게이트 -> remember 툴 -> 설정 검증 게이트 -> 개인정보 보호 봉투 -> 보안 봉투(Keyguard/Vault 모드 활성화 시 암호화) -> 영속성 엔진. 프로토콜 수신, 인증, 마스킹 및 영속성에 이르는 검증된 13단계 실행 흐름.
  • OP_RECALL_READ [회상 / 읽기 추적: 12단계]: 외부 클라이언트 [PUBLIC_INGRESS] -> MemoryOSMcpMountAdapter [TRANSPORT_ADAPTER] -> FastMCP ASGI 디스패치 -> 툴 인증 게이트 -> recall 툴 -> BoundSpace 멀티테넌트 격리 -> 하이브리드 검색 엔진 -> 시맨틱 재순위기 -> 컨텍스트 예산 조립기 -> 공용 인용 포맷터. 검색, 격리, 순위화 및 예산 제어의 검증된 12단계 흐름.
  • OP_UPDATE_VERSION [업데이트 / 버전 추적: 13단계]: 외부 클라이언트 [PUBLIC_INGRESS] -> MemoryOSMcpMountAdapter [TRANSPORT_ADAPTER] -> FastMCP ASGI 디스패치 -> 툴 인증 게이트 -> update_memory 툴 -> 설정 검증 게이트 -> 개인정보 보호 봉투 -> 보안 봉투(Keyguard/Vault 모드 활성화 시 암호화) -> 영속성 엔진 -> 불변 버전 DAG 컨트롤러. 검증, 수정 및 DAG 대체의 검증된 13단계 흐름.
  • OP_FORGET_LIFECYCLE [망각 / 수명 주기 추적: 11단계]: 외부 클라이언트 [PUBLIC_INGRESS] -> MemoryOSMcpMountAdapter [TRANSPORT_ADAPTER] -> FastMCP ASGI 디스패치 -> 툴 인증 게이트 -> forget 툴 -> 설정 검증 게이트 -> 소프트 툼스톤 영속화 -> 백그라운드 보존 데몬 -> 검색 쿼리 제외 필터. 삭제, 마킹 및 보존의 검증된 11단계 흐름.
+------------------------------------------------------------------------------------------------------------------------+
| [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]                                                |
+------------------------------------------------------------------------------------------------------------------------+

서브시스템 분해 및 경계 분류

시스템은 10개의 검증된 서브시스템 노드로 구성되며, 각 노드는 엄격한 경계 분류(PUBLIC_BOUNDARY 또는 INTERNAL_SUBSYSTEM)와 실증적 검증 상태(SOURCE_BACKED_PUBLIC_CONTRACT / VERIFIED, CONCEPTUAL_DELEGATED 또는 NOT_VERIFIED)를 가집니다:

  • NODE_1_CLIENT_AGENT_LAYER: 클라이언트 및 Agent 계층 (@xmemo/client, Claude Desktop, Cursor, Codex) — 분류: [PUBLIC_BOUNDARY] — 검증 상태: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_2_TRANSPORT_ADAPTER: MCP 전송 및 프로토콜 어댑터 (MemoryOSMcpMountAdapter, mount_streamable_mcp) — 분류: [PUBLIC_BOUNDARY] — 검증 상태: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_3_IDENTITY_AUTH_GATE: 신원 및 인가 게이트웨이 (_call_tool_with_oauth_errors, install_mcp_tool_surface) — 분류: [PUBLIC_BOUNDARY] — 검증 상태: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_4_SANITIZATION_ENVELOPE: 개인정보 보호 및 보안 봉투 (sanitize_server_write, enforce_memory_write_envelope) — 분류: [INTERNAL_SUBSYSTEM] — 검증 상태: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_5_SCOPE_ISOLATION_GUARD: 스코프 및 멀티테넌트 격리 보호 (BoundSpace, assert_requested_team_matches_bound_space) — 분류: [INTERNAL_SUBSYSTEM] — 검증 상태: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_6_SEARCH_TEMPORAL_PARSER: 검색 및 시제 쿼리 분석기 (TemporalQuerySpec, extract_temporal_context) — 분류: [INTERNAL_SUBSYSTEM] — 검증 상태: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_7_CANDIDATE_SCORER: 후보 점수 평가 및 재순위기 (SearchEngine.rerank_recall_results) — 분류: [INTERNAL_SUBSYSTEM] — 검증 상태: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_8_VERSION_LIFECYCLE_ENGINE: 버전 및 수명 주기 제어기 (VersionController.superseded_snapshot) — 분류: [INTERNAL_SUBSYSTEM] — 검증 상태: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_9_CONTEXT_BUDGET_ASSEMBLER: 컨텍스트 예산 조립기 (_apply_recall_response_budget) — 분류: [INTERNAL_SUBSYSTEM] — 검증 상태: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].
  • NODE_10_PUBLIC_RECEIPT_CITATION: 공용 영수증 및 인용 포맷터 (_public_recall_meta) — 분류: [PUBLIC_BOUNDARY] — 검증 상태: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)].

오픈 소스 대 관리형 클라우드 서비스 경계

공개 아키텍처 주장은 코드 계약에 따라 평가됩니다. 주장은 VERIFIED(검증됨) 또는 NOT_VERIFIED(미검증/반박됨)로 엄격히 구분됩니다:

  • STMT_01_PROVENANCE_ATTRIBUTION [VERIFIED]: XMemo는 운영 감사 로그를 기록하고, 버전 기록(memory_versions)을 보존하며, 키가드/볼트 모드가 활성화된 경우 암호화 봉투를 적용합니다. 아키텍처: 암호화 보안 엔벨로프 메커니즘.
  • STMT_02_CROSS_CLIENT_CONTINUITY [VERIFIED]: 캡처된 기억은 표준 JSON-RPC를 통해 모든 MCP 호환 클라이언트에서 즉시 액세스할 수 있습니다. 아키텍처: 스트리밍 FastMCP ASGI 어댑터.
  • STMT_03_REALTIME_CORRECTION [VERIFIED]: 사실 업데이트는 불변 버전 기록을 유지하면서 이전 충돌 기억을 대체합니다. 아키텍처: 불변 버전 DAG 컨트롤러.
  • STMT_04_TOKEN_BUDGET_GUARANTEE [VERIFIED]: 회상 컨텍스트 주입은 지정된 토큰 및 바이트 예산을 엄격히 준수합니다. 아키텍처: 결정론적 토큰 예산 어셈블러.
  • STMT_05_ZERO_TOKEN_EXPOSURE [VERIFIED]: 인증되지 않은 요청은 게이트웨이에서 즉시 거부되며 토큰 노출이 발생하지 않습니다. 아키텍처: 수신 인증 및 스코프 격리 게이트.
  • STMT_06_BACKEND_OPEN_SOURCE_CLAIM [NOT_VERIFIED]: 백엔드 전체 오픈 소스 주장은 기각되었습니다. 클라이언트 패키지(@xmemo/client)와 로컬 MCP 어댑터만 오픈 소스이며, 멀티테넌트 클라우드 인프라는 독점 관리형 서비스입니다.
  • STMT_07_AUTONOMOUS_CONSENSUS_CLAIM [NOT_VERIFIED]: 조직 간 자율 합의 주장은 기각되었습니다. 테넌트 격리는 엄격히 유지되며 교차 테넌트 자동 병합 기능은 제공되지 않습니다.
  • STMT_08_ZERO_LATENCY_REPLICATION_CLAIM [NOT_VERIFIED]: 지연 시간 제로 글로벌 복제 주장은 기각되었습니다. 검색은 임베디드 벡터 색인을 사용하며 지연 시간 제로 보장은 없습니다.

재현 가능한 아키텍처 라이프사이클 워크스루 (합성 A/B 예시)

완전히 결정론적인 합성 데모 데이터를 사용하여 에이전트 간 메모리 공유, 멀티테넌트 격리, 실시간 사용자 교정 및 불변 출처 추적을 단계별로 검증합니다. 모든 단계는 공개 계약에 따른 검증된 시스템 기능 및 승인된 클레임 ID에 직접 매핑됩니다:

  • Step 1 [AGENT_A_WRITE]: Agent A (ide-assistant-alpha)가 remember tool를 통해 범위 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]: Agent B (terminal-assistant-beta)가 동일한 인가 범위 project:synthetic-demo 내에서 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]: 비인가 Agent (rogue-guest-gamma)가 유효한 자격 증명 없이 project:synthetic-demo에 테넌트 간 접근 시도 — 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]: 사용자가 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]: 후속 회상 쿼리는 업데이트된 버전 2를 자동 선택하며 SearchEngine은 대체된 버전 1을 엄격히 제외 — 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]: Version Controller를 통한 버전 이력 감사 검사 — Chain: v1 (initial write by ide-assistant-alpha) -> v2 (superseded_by user correction) — Claim: [STMT_01_PROVENANCE_ATTRIBUTION] — Verification: 버전 기록 및 부모 포인터 검사 가능 — Status: [SOURCE_BACKED_PUBLIC_CONTRACT (VERIFIED)] — Boundary: [DEMO_DATA: SYNTHETIC].
  • Step 7 [STATE_RESET]: 리셋 가능한 샌드박스 제어로 합성 작업 공간 project:synthetic-demo를 깨끗한 초기 상태로 복원 — Action: 결정론적 분해 및 상태 제거 — 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]: 클라우드 멀티테넌트 청구 파이프라인 [STMT_06_BACKEND_OPEN_SOURCE_CLAIM], 조직 간 자율 합의 [STMT_07_AUTONOMOUS_CONSENSUS_CLAIM] 및 제로 레이턴시 글로벌 복제 [STMT_08_ZERO_LATENCY_REPLICATION_CLAIM]는 [NOT_VERIFIED]이며 로컬 오픈 소스 런타임에서 제외됩니다.
+------------------------------------------------------------------------------------------------------------------------+
| [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              |                              |                |
+------------------------------------------------------------------------------------------------------------------------+

심층 개념 및 보안 내비게이션

상세한 개념 및 보안 문서를 통해 특정 아키텍처 영역을 살펴보세요:

  • 기억 데이터 모델 (/docs/concepts/memory-model): 엔터티 구조, 시맨틱 범주, 중요도 점수 및 표현 계층.
  • 출처 및 귀속 (/docs/concepts/provenance-attribution): 감사 추적 및 호출자 귀속.
  • 프로젝트 기억 공간 (/docs/concepts/projects): 워크스페이스 경로 라우팅 및 개인 프로젝트 경계 격리를 통한 검증된 프로젝트 연결.
  • 드림 및 기억 통합 (/docs/concepts/dream-reflection): 후보 미리보기 통합, 명시적 대상 검토 및 유지보수 정책.
  • 외부 지식 베이스 (/docs/concepts/knowledge-bases): 문서 색인화, 청킹 전략 및 참조 인용.
  • 데이터 경계 및 보안 (/docs/security/data-boundary): 로컬 자체 호스팅 기능과 클라우드 SaaS 서비스 간의 명확한 경계.

페르소나 흐름

ChatGPT 사용자

채팅에 전달자 토큰을 붙여넣지 않고도 XMemo 기본 설정, 프로젝트 사실, 결정 및 TODO에 대한 지속 가능한 액세스를 ChatGPT에 부여하세요.

종합 기본 설정이나 프로젝트 노트를 저장하고 새 채팅을 시작한 다음 작업을 계속하기 전에 XMemo를 통해 ChatGPT에 이를 불러오도록 요청하세요.

부조종사/Codex 개발자

IDE와 CLI 에이전트 간에 리포지토리 결정, 코딩 규칙, 버그 수정 메모, 작업 기록을 전달합니다.

코드베이스 결정이나 버그 수정을 기록한 후 편집하기 전에 다음 IDE 또는 CLI 에이전트에게 관련 XMemo 컨텍스트를 기억하도록 요청하세요.

팀/엔터프라이즈 파일럿 소유자

계정 제어, 소스 속성, 내보내기/삭제 워크플로, 검토자에게 안전한 설정 증거를 통해 공유 메모리를 평가합니다.

파일럿 멤버에게 가상 팀 메모리를 저장하고 XMemo에서 소스 속성을 확인한 다음 삭제/내보내기 및 지원 경로를 검토하도록 합니다.

출처: 작동 원리