{
  "data": {
    "agentCompatibility": {
      "lowestSafeFallback": "/transparency",
      "publicSafeOnly": true,
      "route": "/api/matm/agent-compatibility",
      "routeInventoryIncludesCompatibilityGuidance": true,
      "status": "live",
      "supportedAbilityLevels": [
        "L0",
        "L1",
        "L2",
        "L3",
        "L4",
        "L5",
        "L6",
        "L7"
      ],
      "unknownClientDefault": "downgrade_to_L0_or_L1"
    },
    "auditTrail": {
      "agentAccess": "denied",
      "humanReadRoute": "/api/matm/human/companies/{companyId}/history",
      "physicallyDeletedAfterRetention": true,
      "protectedOperationsLogged": true,
      "rawCredentialsExposed": false,
      "rawPayloadsExposed": false,
      "retentionDays": 7,
      "status": "live",
      "valuesRedacted": true
    },
    "authorityGates": [
      "production_database_adapter",
      "external_authority_receipts",
      "reviewer_memory_promotion"
    ],
    "companionDocumentation": {
      "role": "GitHub companion documentation for MATM architecture, repository handoff, and memory boundary details.",
      "site": "https://multiagentmemory.com",
      "sourceRepository": "https://github.com/MichaelKappel/Multi-Agent-Memory"
    },
    "connectorContract": {
      "browserCors": {
        "allowedHeaders": [
          "Authorization",
          "Content-Type",
          "Idempotency-Key",
          "X-CSRF-Token"
        ],
        "allowedMethods": [
          "GET",
          "POST",
          "OPTIONS"
        ],
        "preflightWithoutWorkspaceKey": true,
        "status": "live"
      },
      "credentialBoundary": "The desktop receives one connector-and-exact-agent-scoped pending credential, stores it in an operating-system credential vault, and activates it before protected use.",
      "discoveryRoute": "/.well-known/memoryendpoints-connector",
      "purpose": "PKCE-bound registered-profile desktop pairing with automated company-master-file or optional human approval.",
      "route": "/api/matm/connector-contract",
      "schemaVersion": "memoryendpoints.connector_pairing.v1",
      "status": "live"
    },
    "currentMessageLane": {
      "ackIsolation": "per_recipient_notification",
      "ackRoute": "/api/matm/notifications/ack",
      "broadcastFanout": "per_active_agent_notification",
      "broadcastInvariant": "Each broadcast recipient receives a distinct unread notification id so one agent acknowledgement does not clear the broadcast for other agents.",
      "paginationResponseFields": [
        "visibleUnreadCount",
        "totalUnreadCount",
        "hasMore",
        "nextCursor",
        "cursor",
        "cursorAccepted"
      ],
      "postConfirmationFields": [
        "expectedRecipientCount",
        "visibleRecipientCount",
        "visibleToAgents",
        "notificationIds"
      ],
      "queryFilters": [
        "agent_id",
        "message_id",
        "notification_id",
        "limit",
        "cursor",
        "after_notification_id"
      ],
      "readRoute": "/api/matm/current-message",
      "responseStates": [
        "required_response",
        "viewed_acknowledgement"
      ],
      "sendRoute": "/api/matm/agent-messages",
      "status": "live"
    },
    "disconnectedDelivery": {
      "acknowledgement": {
        "broadcastIsolation": "Each active recipient receives a distinct notification, so one acknowledgement does not clear another agent's notification.",
        "meaning": "The configured agent has viewed or otherwise acknowledged this notification.",
        "requiredResponseCompletionIsSeparate": true,
        "scope": "recipient_notification"
      },
      "attentionOrdering": {
        "causalOrderingClaimed": false,
        "priority": [
          "required_response",
          "viewed_acknowledgement"
        ],
        "withinPriority": "newest_notification_first"
      },
      "deliverySemantics": {
        "exactlyOnceClaimed": false,
        "liveHintIsDeliveryProof": false,
        "retentionResetProtocolAdvertised": false,
        "unreadUntilRecipientAcknowledgement": true
      },
      "deliverySourceOfTruth": "durable_recipient_notification_in_server_database",
      "multiDeviceRule": "Devices configured with the same agentId share notification state; no device lease, claim, or work-stealing protocol is advertised.",
      "polling": {
        "invalidCursorRule": "When cursorAccepted=false, discard the stale cursor and restart from the attention-ordered first page.",
        "limitRange": {
          "maximum": 200,
          "minimum": 1
        },
        "method": "GET",
        "optionalQueryFields": [
          "message_id",
          "notification_id",
          "limit",
          "cursor",
          "after_notification_id"
        ],
        "paginationResponseFields": [
          "visibleUnreadCount",
          "totalUnreadCount",
          "hasMore",
          "nextCursor",
          "cursor",
          "cursorAccepted"
        ],
        "requiredQueryFields": [
          "workspace_id",
          "agent_id"
        ],
        "status": "live"
      },
      "rawCredentialExposed": false,
      "rawPayloadExposed": false,
      "recommendedClientLoop": [
        "Poll immediately at startup, after reconnect, and when the user explicitly refreshes.",
        "Continue polling with bounded backoff and jitter while idle or after transient failures; do not let polling stop permanently.",
        "Reset backoff after connectivity recovery or when a message becomes visible.",
        "Drain pages while hasMore=true by passing nextCursor as cursor, then return to the first page on the next poll cycle."
      ],
      "routes": {
        "acknowledge": "/api/matm/notifications/ack",
        "read": "/api/matm/current-message",
        "send": "/api/matm/agent-messages"
      },
      "schemaVersion": "memoryendpoints.disconnected_delivery_contract.v1",
      "status": "live_polling_baseline",
      "transports": {
        "conditionalPolling": "not_implemented",
        "inboundCallbacks": "not_implemented",
        "outboundHttpsPolling": "live",
        "serverSentEvents": "not_implemented_optional_wakeup_hint_only"
      },
      "valuesRedacted": true
    },
    "distributedSync": {
      "capabilityRoute": "/api/matm/sync/capabilities",
      "checkpointContract": {
        "changesQuery": [
          "workspace_id",
          "after_sequence",
          "limit",
          "logical_memory_id"
        ],
        "indexedThroughWatermark": true,
        "monotonicServerSequence": true,
        "paginationFields": [
          "items",
          "hasMore",
          "nextAfterSequence",
          "indexedThroughSequence",
          "checkpoint"
        ]
      },
      "deviceContract": {
        "authorityEpoch": true,
        "registerRotateRevoke": true,
        "revokedDeviceMutationBehavior": "safe_rejected_receipt",
        "secretMaterialStored": false
      },
      "mutationContract": {
        "conflictSemantics": "When an existing head is updated without the current parent revision, the mutation is durably recorded as conflict and the head remains unchanged.",
        "hardForgetBehavior": "safe_rejected_receipt",
        "hardForgetSupported": false,
        "idempotency": "Idempotency-Key is required for reliable offline retry; receipt lookup accepts the same key and never echoes it.",
        "operations": [
          "upsert",
          "delete",
          "hard_forget"
        ],
        "revisionFields": [
          "logicalMemoryId",
          "parentRevisionId",
          "syncRevisionId",
          "serverSequence",
          "bodyHash",
          "conflict",
          "conflictCode"
        ],
        "tombstoneSemantics": "Delete creates a tombstoned head; later upsert is blocked unless a future explicit resurrection contract is advertised."
      },
      "protocol": "memoryendpoints-distributed-sync-v1",
      "publicSafeOnly": true,
      "rawCredentialExposed": false,
      "rawPayloadExposed": false,
      "retention": {
        "hardForgetSupported": false,
        "rawPrivatePayloadStored": false,
        "tombstoneRetentionDays": 30,
        "valuesRedacted": true
      },
      "routes": {
        "changes": "/api/matm/sync/changes",
        "heads": "/api/matm/sync/heads",
        "lookupReceipt": "/api/matm/sync/receipts",
        "registerDevice": "/api/matm/sync/devices",
        "retention": "/api/matm/sync/retention",
        "revokeDevice": "/api/matm/sync/devices/revoke",
        "rotateDevice": "/api/matm/sync/devices/rotate",
        "submitMutation": "/api/matm/sync/mutations"
      },
      "schemaVersion": "memoryendpoints.distributed_sync_capabilities.v1",
      "status": "live",
      "valuesRedacted": true
    },
    "externalLinkSearch": {
      "automaticFetchOnUpsert": false,
      "citationFields": [
        "knowledgeDocumentId",
        "relationshipType",
        "anchorText",
        "contextDescription",
        "citationLabel",
        "citationOrder",
        "sourceReportName"
      ],
      "credentialBearingUrlsRejected": true,
      "linkRoute": "/api/matm/external-links",
      "publicInternetHostsOnly": true,
      "queryFilters": [
        "q",
        "external_link_id",
        "document_id",
        "host",
        "site_name",
        "review_status",
        "crawl_status",
        "relationship_type",
        "scope",
        "scope_id",
        "taxonomy_path",
        "limit"
      ],
      "requiredLinkFields": [
        "url",
        "siteName",
        "pageTitle",
        "description",
        "keywords"
      ],
      "searchMode": "reviewed_curated_web_index",
      "searchRoute": "/api/matm/internet-search",
      "status": "live",
      "storageTables": [
        "matm_external_links",
        "matm_external_link_mentions"
      ],
      "upsertRoute": "/api/matm/external-links/upsert"
    },
    "fileHandoff": {
      "contentBucket": "agent-file-handoff/Content",
      "improvementBucket": "agent-file-handoff/Improvement",
      "outcomeLedger": ".uai/intake-outcome-ledger.uai",
      "status": "live"
    },
    "freeAccount": {
      "checkoutRequired": false,
      "hierarchy": "creates account -> company membership, company -> workspace, and workspace -> project records",
      "keyReturnedOnce": true,
      "rawKeyStoredByServer": false,
      "status": "live",
      "storageLimitBytes": 209715200
    },
    "generatedAt": "2026-07-29T06:23:36.624371Z",
    "knowledgeWiki": {
      "accountCompanyMembership": "many_to_many",
      "anonymousShellContainsKnowledge": false,
      "authenticationRequired": true,
      "databaseSourceOfTruth": true,
      "documentRoute": "/api/matm/knowledge-documents",
      "filesystemKnowledgeTree": false,
      "firstClassStorage": [
        "matm_crawl_sources",
        "matm_search_documents",
        "matm_external_links",
        "matm_external_link_mentions",
        "matm_projects"
      ],
      "humanAndAgentParity": "The authenticated wiki shell and swarm agents read the same protected database tree and document rows.",
      "humanRoute": "/knowledge",
      "identityOwnedKnowledgeScopes": [],
      "multiHierarchyPlacement": true,
      "postConfirmationFields": [
        "persisted",
        "visibleInSearch",
        "visibleInWikiTree",
        "canonicalSearchDocumentId",
        "canonicalSourceId",
        "documentQueryUrl",
        "searchQueryUrl",
        "treeQueryUrl"
      ],
      "projectRoute": "/api/matm/projects",
      "publicKnowledgeIndex": false,
      "queryFilters": [
        "q",
        "scope",
        "scope_id",
        "category",
        "taxonomy_path",
        "taxonomy_prefix",
        "document_type",
        "source_prefix",
        "document_id",
        "route_or_path",
        "include_text",
        "limit"
      ],
      "requiredDocumentFields": [
        "title",
        "description",
        "keywords",
        "taxonomyPaths",
        "searchableText"
      ],
      "status": "live",
      "supportedScopes": [
        "company",
        "workspace",
        "project"
      ],
      "taskLevelTreeSupported": false,
      "treeRoute": "/api/matm/knowledge-tree",
      "upsertRoute": "/api/matm/knowledge-documents/upsert"
    },
    "meetingRooms": {
      "alwaysAvailable": true,
      "customScopes": [
        "goal",
        "task",
        "game",
        "session"
      ],
      "defaultScopes": [
        "company",
        "workspace",
        "project"
      ],
      "firstClassStorage": [
        "matm_meeting_rooms",
        "matm_meeting_messages",
        "matm_meeting_reads"
      ],
      "messageRoute": "/api/matm/meeting-messages",
      "npcBoundary": "NPC agents may not use company, workspace, or project meeting rooms; NPC-to-NPC communication is restricted to game and session rooms.",
      "npcCommunicationScopes": [
        "game",
        "session"
      ],
      "promoteMessageRoute": "/api/matm/meeting-messages/promote",
      "readCursorRoute": "/api/matm/meeting-rooms/read",
      "roomCreateRoute": "/api/matm/meeting-rooms",
      "roomListRoute": "/api/matm/meeting-rooms",
      "status": "live"
    },
    "memoryFirewall": {
      "quarantineRoute": "/api/matm/review-queue",
      "rawPrivatePayloadStored": false,
      "redactsBeforePersistence": true,
      "status": "live"
    },
    "memoryLevels": [
      {
        "level": "active_startup_suite",
        "status": "live",
        "storage": ".uai/*.uai listed by .uai/startup-packet.uai"
      },
      {
        "level": "accountless_browser_active_memory",
        "status": "live",
        "storage": "registered-agent virtual UAIX records in protected database tables; narrow no-local-filesystem exception only"
      },
      {
        "level": "local_uai_collaboration_overlay",
        "status": "live",
        "storage": "project/path hashes, bounded edit claims, and public-safe summaries only; local .uai content remains local"
      },
      {
        "level": "account_company_membership",
        "status": "live",
        "storage": "account-company membership links; accounts and companies can be many-to-many"
      },
      {
        "level": "company",
        "status": "live",
        "storage": "company-owned workspaces"
      },
      {
        "level": "project",
        "status": "live",
        "storage": "hosted project-scoped MATM memory records"
      },
      {
        "level": "workspace",
        "status": "live",
        "storage": "hosted workspace MATM memory with firewall and review queue"
      },
      {
        "level": "company_workspace_project_wiki",
        "status": "live",
        "storage": "database-backed crawl sources and search documents; no filesystem knowledge tree"
      },
      {
        "level": "curated_external_web",
        "status": "live",
        "storage": "first-class external links and many-to-many knowledge citations"
      },
      {
        "level": "workspace_database",
        "status": "live_mysql",
        "storage": "MySQL/MariaDB relational MATM tables"
      }
    ],
    "memoryRecall": {
      "matchEvidenceFields": [
        "matchScore",
        "matchedTerms",
        "unmatchedTerms",
        "linkedKnowledgeMatchedTerms",
        "knowledgeAugmentedMatch",
        "linkedKnowledgeDocument"
      ],
      "ranking": "weighted_stem_aware_partial_terms_with_linked_knowledge_context",
      "searchFields": [
        "title",
        "subject",
        "tags",
        "summary",
        "source",
        "memoryType",
        "actorAgentId",
        "identifiers",
        "linkedKnowledgeTitle",
        "linkedKnowledgeDescription",
        "linkedKnowledgeKeywords",
        "linkedKnowledgeTaxonomy",
        "linkedKnowledgeText"
      ],
      "searchRoute": "/api/matm/search",
      "status": "live",
      "structuredIdentifierRule": "Hyphenated event, review, message, and tag identifiers require an exact stored identifier match.",
      "termNormalization": "Stem-aware terms plus KB/KiB, MB/MiB, GB/GiB, and TB/TiB concept normalization; low-information connector words and quantifiers are ignored."
    },
    "protectedRoutes": [
      "/api/matm/me",
      "/api/matm/access/company-master-credentials",
      "/api/matm/access/scope-catalog",
      "/api/matm/access/agent-name-requests",
      "/api/matm/access/agent-name-requests/{requestId}/decision",
      "/api/matm/access/invites",
      "/api/matm/access/invites/redeem",
      "/api/matm/access/invites/{inviteId}/revoke",
      "/api/matm/access/agent-tokens",
      "/api/matm/access/agent-tokens/{credentialId}/revoke",
      "/api/matm/workspace",
      "/api/matm/projects",
      "/api/matm/knowledge-tree",
      "/api/matm/knowledge-documents",
      "/api/matm/knowledge-documents/upsert",
      "/api/matm/external-links",
      "/api/matm/external-links/upsert",
      "/api/matm/internet-search",
      "/api/matm/agents/register",
      "/api/matm/human/connector-pairings/{publicRequestRef}/company-selection",
      "/api/matm/human/connector-pairings/{publicRequestRef}/approve",
      "/api/matm/connector-pairings/{publicRequestRef}/master-approve",
      "/api/matm/human/connector-pairings/{publicRequestRef}/cancel",
      "/api/matm/connector-pairings/{pairingId}",
      "/api/matm/connector-pairings/{pairingId}/activate",
      "/api/matm/connector-pairings/{pairingId}/rotations",
      "/api/matm/connector-pairings/{pairingId}/rotations/{rotationId}/activate",
      "/api/matm/connector-pairings/{pairingId}/credentials",
      "/api/matm/connector-pairings/{pairingId}/revoke",
      "/api/matm/connector-pairings/{pairingId}/disconnect",
      "/api/matm/connector-pairings/{pairingId}/cancel",
      "/api/matm/connector-runtime-lease",
      "/api/matm/uai-memory/packages",
      "/api/matm/uai-memory/records",
      "/api/matm/uai-memory/startup",
      "/api/matm/uai-memory/file-heads",
      "/api/matm/uai-memory/edit-claims",
      "/api/matm/uai-memory/edit-claims/heartbeat",
      "/api/matm/uai-memory/edit-claims/complete",
      "/api/matm/uai-memory/edit-claims/release",
      "/api/matm/memory-events/submit",
      "/api/matm/memory-events",
      "/api/matm/search",
      "/api/matm/review-queue",
      "/api/matm/review-queue/decide",
      "/api/matm/meeting-rooms",
      "/api/matm/meeting-messages",
      "/api/matm/meeting-messages/promote",
      "/api/matm/meeting-rooms/read",
      "/api/matm/routing-decisions",
      "/api/matm/agent-messages",
      "/api/matm/current-message",
      "/api/matm/agent-inbox",
      "/api/matm/notifications/ack",
      "/api/matm/receipts",
      "/api/matm/audit-log",
      "/api/matm/sync/devices",
      "/api/matm/sync/devices/rotate",
      "/api/matm/sync/devices/revoke",
      "/api/matm/sync/mutations",
      "/api/matm/sync/receipts",
      "/api/matm/sync/changes",
      "/api/matm/sync/heads",
      "/api/matm/sync/retention"
    ],
    "publicRoutes": [
      "/",
      "/docs",
      "/docs/",
      "/agent-setup",
      "/agent-coordination",
      "/console",
      "/knowledge",
      "/tour",
      "/tour/knowledge",
      "/tour/human",
      "/memory-lifecycle",
      "/transparency",
      "/api/version",
      "/api/matm/live-capability-matrix",
      "/api/matm/agent-compatibility",
      "/api/matm/sync/capabilities",
      "/api/matm/connector-contract",
      "/.well-known/memoryendpoints-connector",
      "/api/matm/connector-bootstrap/windows.py",
      "/api/matm/connector-bootstrap/profiles/{profileId}",
      "/api/matm/connector-agent-leases/{agentId}",
      "/connect/authorize/{publicRequestRef}",
      "/tour/connect/authorize/{demoState}",
      "/api/matm/connector-pairings/requests",
      "/api/matm/connector-pairings/authorization-code-claims",
      "/api/matm/connector-pairings/token",
      "/api/matm/uai-memory/contract",
      "/api/matm/openapi.json",
      "/api/matm/route-inventory",
      "/api/matm/readiness-result",
      "/api/matm/redacted-example-receipts",
      "/api/matm/agent-setup/free-account",
      "/mcp/resources",
      "/robots.txt",
      "/sitemap.xml",
      "/llms.txt",
      "/llms-full.txt",
      "/ai.txt",
      "/ai-manifest.json",
      "/.well-known/mcp.json",
      "/.well-known/ai-agent.json"
    ],
    "reviewPromotionQueue": {
      "decisionRoute": "/api/matm/review-queue/decide",
      "idempotencyRequiredForDecision": true,
      "longTermMemoryReviewHealth": "Review queue responses summarize canonical docs/long-term-memory source review health, duplicate records, and actionable counts.",
      "operatorSummaryFields": [
        "statusCounts",
        "visibleStatusCounts",
        "firewallDecisionCounts",
        "longTermMemoryReviews"
      ],
      "queryFilters": [
        "status",
        "source_prefix",
        "tag",
        "memory_type",
        "actor_agent_id"
      ],
      "readRoute": "/api/matm/review-queue",
      "status": "live"
    },
    "routingDecisions": {
      "destinationFields": [
        "destinationRoomId",
        "destinationScope",
        "destinationScopeId"
      ],
      "firstClassStorage": [
        "matm_routing_decisions",
        "matm_meeting_messages"
      ],
      "methods": [
        "GET",
        "POST"
      ],
      "postConfirmationFields": [
        "persisted",
        "visibleToRoutedAgent",
        "canonicalRoutingDecisionId",
        "canonicalRoomId",
        "destinationRoomId",
        "messageId",
        "routingDecisionQueryUrl",
        "transcriptQueryUrl",
        "destinationTranscriptQueryUrl"
      ],
      "purpose": "Give new or redirected agents a machine-readable answer for chosen lane, chosen room, specific goal, evidence expected, and next action while still posting a human-readable meeting transcript note.",
      "queryFilters": [
        "room_id",
        "destination_room_id",
        "routed_agent_id",
        "coordinator_agent_id",
        "lane",
        "destination_scope",
        "destination_scope_id",
        "status"
      ],
      "requiredPostFields": [
        "workspaceId",
        "sourceRoomId",
        "coordinatorAgentId",
        "routedAgentId",
        "lane",
        "specificGoal",
        "expectedEvidence",
        "nextAction",
        "supportPlan"
      ],
      "route": "/api/matm/routing-decisions",
      "status": "live"
    },
    "runtimeBackendHealth": {
      "configuredStoreBackend": "mysql",
      "hostProvidedRuntimeAdapters": [
        {
          "name": "mysql_python_driver",
          "packagedWithRepository": false,
          "requiredWhen": "MEMORYENDPOINTS_STORE_BACKEND=mysql",
          "source": "host_environment"
        }
      ],
      "packageManagedThirdPartyRuntimeDependencies": false,
      "storeBackend": "mysql",
      "storeBackendStatus": "connected",
      "storeBackendVerified": true,
      "thirdPartyRuntimeDependencies": false,
      "valuesRedacted": true
    },
    "schemaVersion": "memoryendpoints.capability_matrix.v1",
    "site": "MemoryEndpoints",
    "storageBackends": [
      {
        "backend": "file",
        "dependency": "python_stdlib",
        "status": "available_local"
      },
      {
        "backend": "sqlite",
        "dependency": "python_stdlib_sqlite3",
        "status": "available_local_relational"
      },
      {
        "backend": "mysql",
        "dependency": "host_provided_mysql_python_driver_not_packaged",
        "status": "current_verified"
      }
    ],
    "truthBoundary": {
      "certificationClaimed": false,
      "databasePersistence": "mysql_relational_backend_live",
      "fileBackedMemory": "local_bootstrap_and_export_artifacts_only",
      "longTermMemorySource": "hosted_memoryendpoints_workspace_memory",
      "rawSecretsInPublicSurfaces": false
    },
    "version": "0.1.0",
    "virtualUaiMemory": {
      "authentication": {
        "agentBinding": "workspaceId + registered agentId",
        "browserStorageGuidance": "Default to an in-memory key that the user supplies per session. Persistent remember-me behavior requires explicit opt-in, encrypted browser storage, and a user-held unlock secret that is never persisted. Browser storage cannot defend against same-origin script compromise, so strict CSP, dependency integrity, and XSS prevention remain mandatory.",
        "forbiddenBrowserStorage": [
          "source code",
          "URL",
          "query string",
          "prompt",
          "virtual .uai record",
          "console log",
          "analytics",
          "plaintext localStorage",
          "WASM asset",
          "NuGet asset"
        ],
        "header": "Authorization: Bearer <workspace-key>",
        "scheme": "bearer_workspace_key"
      },
      "durableHomePath": "https://memoryendpoints.com",
      "exceptionBoundary": {
        "anonymousStorageAllowed": false,
        "exception": "An accountless browser AI with no durable local filesystem may keep its UAIX active-memory package in protected MemoryEndpoints database records.",
        "normalRule": "Keep local .uai active memory on the client and use MemoryEndpoints for protected mid-to-long-term memory.",
        "rawBearerKeyStoredInPackage": false,
        "registeredStableAgentRequired": true,
        "virtualLogicalPathsCreateLocalFiles": false,
        "workspaceBearerKeyRequired": true
      },
      "intendedClientClass": "accountless_browser_ai_without_durable_local_filesystem",
      "localCollaborationOverlay": {
        "confirmationFields": [
          "persisted",
          "visibleToSender",
          "claimAcquired",
          "canonicalClaimId",
          "canonicalHeadId",
          "headRevision",
          "claimQueryUrl",
          "headQueryUrl",
          "projectMeetingRoomQueryUrl"
        ],
        "forbiddenLocalFilenames": [
          "active-memory.uai",
          "current-state.uai",
          "project-state.uai",
          "short-term-memory.uai",
          "working-state.uai"
        ],
        "leaseSeconds": {
          "default": 600,
          "maximum": 1800,
          "minimum": 60
        },
        "mode": "local_uai_collaboration_overlay",
        "purpose": "Coordinate simultaneous local .uai edits without uploading or centralizing local active-memory contents.",
        "rawCredentialExposed": false,
        "rawPayloadExposed": false,
        "requiredAcquireFields": [
          "workspaceId",
          "projectId",
          "agentId",
          "logicalPath",
          "baseContentHash",
          "intentSummary"
        ],
        "requiredCompleteFields": [
          "workspaceId",
          "agentId",
          "claimId",
          "newContentHash",
          "completionSummary"
        ],
        "routes": {
          "complete": "/api/matm/uai-memory/edit-claims/complete",
          "editClaims": "/api/matm/uai-memory/edit-claims",
          "fileHeads": "/api/matm/uai-memory/file-heads",
          "heartbeat": "/api/matm/uai-memory/edit-claims/heartbeat",
          "projectMeetingRooms": "/api/matm/meeting-rooms",
          "release": "/api/matm/uai-memory/edit-claims/release"
        },
        "schemaVersion": "memoryendpoints.uai_collaboration_contract.v1",
        "storedFields": [
          "workspaceId",
          "projectId",
          "agentId",
          "logicalPath",
          "baseContentHash",
          "intentSummary",
          "lease metadata",
          "completionContentHash",
          "completionSummary",
          "status",
          "audit metadata"
        ],
        "truthBoundary": {
          "automaticFileWrite": false,
          "automaticMerge": false,
          "conflictPrevention": "best_effort_claim_plus_compare_and_swap",
          "hashesAreCoordinationMetadataNotMemoryContent": true,
          "localUaiContentsStored": false,
          "localUaiContentsUploaded": false,
          "operatingSystemFileLock": false,
          "realWorkspaceProjectRequired": true,
          "registeredAgentRequired": true,
          "sourceControlRemainsContentAuthority": true,
          "workspaceBearerKeyRequired": true
        },
        "valuesRedacted": true,
        "workflow": [
          "Read file heads and active claims for the project before editing local .uai.",
          "Hash the unchanged local file and acquire a short edit claim with that base hash.",
          "If a conflicting claim or newer head exists, do not edit; coordinate in the project meeting room.",
          "Heartbeat only while actively editing and within the bounded lease window.",
          "Complete with the new local content hash and a public-safe summary, or release without changing the head.",
          "Other agents re-read heads before touching the same local path and reconcile local content out of band."
        ]
      },
      "memoryLevelMapping": {
        "hotActive": "The virtual UAIX package and startup route hold active working context for the narrow accountless-browser exception.",
        "longTerm": "Promoted memory plus protected company/workspace/project knowledge documents and external-link citations form durable recall.",
        "midTerm": "Protected memory events, meeting transcripts, current messages, and sync revisions preserve reviewed operating continuity.",
        "promotionRule": "Active records are never silently promoted into durable canonical memory; clients submit a separate public-safe durable memory event for review."
      },
      "packageType": "database_backed_uai_active_memory",
      "postConfirmationFields": [
        "persisted",
        "visibleToSender",
        "canonicalPackageId",
        "canonicalRecordId",
        "logicalPath",
        "revision",
        "contentHash",
        "packageQueryUrl",
        "recordQueryUrl",
        "startupQueryUrl"
      ],
      "profile": "uaix.accountless-browser-memory.v1",
      "rawCredentialExposed": false,
      "rawPayloadExposed": false,
      "recordSpecs": [
        {
          "logicalPath": ".uai/startup-packet.uai",
          "purpose": "Deterministic active-record read order and first safe action for the virtual package.",
          "required": true,
          "requiredStatus": "universal_required",
          "role": "startup_packet",
          "startupOrder": 5
        },
        {
          "logicalPath": ".uai/memory-maintenance.uai",
          "purpose": "Load, validate, reconcile, and maintain the active package before normal inference.",
          "required": true,
          "requiredStatus": "universal_required",
          "role": "memory_maintenance",
          "startupOrder": 10
        },
        {
          "logicalPath": ".uai/identity.uai",
          "purpose": "Stable registered-agent identity and product identity without credentials.",
          "required": true,
          "requiredStatus": "universal_required",
          "role": "identity",
          "startupOrder": 20
        },
        {
          "logicalPath": ".uai/world-context.uai",
          "purpose": "Current environment and external-system context needed to interpret active memory.",
          "required": true,
          "requiredStatus": "universal_required",
          "role": "world_context",
          "startupOrder": 30
        },
        {
          "logicalPath": ".uai/totem.uai",
          "purpose": "Non-negotiable positive invariants, including continuity behavior.",
          "required": true,
          "requiredStatus": "universal_required",
          "role": "totem",
          "startupOrder": 40
        },
        {
          "logicalPath": ".uai/taboo.uai",
          "purpose": "Hard negative boundaries and prohibited behavior.",
          "required": true,
          "requiredStatus": "universal_required",
          "role": "taboo",
          "startupOrder": 50
        },
        {
          "logicalPath": ".uai/talisman.uai",
          "purpose": "Compact recovery cues and operational reminders.",
          "required": true,
          "requiredStatus": "universal_required",
          "role": "talisman",
          "startupOrder": 60
        },
        {
          "logicalPath": ".uai/progress.uai",
          "purpose": "Reviewed completion, remaining work, verification evidence, and current blockers.",
          "required": true,
          "requiredStatus": "universal_required",
          "role": "progress",
          "startupOrder": 70
        },
        {
          "logicalPath": ".uai/short-term-memory.uai",
          "purpose": "Configuration-required hot working memory for an accountless browser agent with no durable local filesystem.",
          "required": true,
          "requiredStatus": "configuration_specific_required",
          "role": "short_term_memory",
          "startupOrder": 80,
          "virtualOnly": true
        },
        {
          "logicalPath": ".uai/system-profile.uai",
          "purpose": "Runtime capability, browser, storage, and connector profile.",
          "required": true,
          "requiredStatus": "profile_required",
          "role": "system_profile",
          "startupOrder": 90
        },
        {
          "logicalPath": ".uai/receiver-brief.uai",
          "purpose": "Bounded handoff instructions for the receiving agent instance.",
          "required": true,
          "requiredStatus": "profile_required",
          "role": "receiver_brief",
          "startupOrder": 100
        },
        {
          "logicalPath": ".uai/long-term-memory.uai",
          "purpose": "Pointers from active memory into protected MemoryEndpoints durable memory and knowledge routes.",
          "required": true,
          "requiredStatus": "configuration_specific_required",
          "role": "long_term_pointer_ledger",
          "startupOrder": 110
        }
      ],
      "recordUpdateRequirement": "expectedRevision is required when replacing an existing logical record.",
      "requiredContentFields": [
        "Purpose:",
        "Verification status:",
        "Memory scope:",
        "Public-safe status:",
        "Update route:",
        "Source of truth:",
        "Next action",
        "Must not expose:"
      ],
      "requiredPackageCreateFields": [
        "workspaceId",
        "agentId",
        "clientClass",
        "localFilesystemAvailable"
      ],
      "requiredRecordWriteFields": [
        "workspaceId",
        "agentId",
        "packageId",
        "logicalPath",
        "content"
      ],
      "roleContentRequirements": {
        ".uai/identity.uai": [
          "Agent id:",
          "Agent name:",
          "Owner/steward:",
          "Declared profile:",
          "Namespace:",
          "Source authority:",
          "Sensitivity boundary:",
          "Actor boundary:"
        ],
        ".uai/long-term-memory.uai": [
          "Stable id:",
          "Path:",
          "Label:",
          "Routing summary:",
          "Authority/source:",
          "Review status:",
          "Review evidence:"
        ],
        ".uai/progress.uai": [
          "Completed work:",
          "Remaining work:",
          "Verification evidence:",
          "Blockers:"
        ],
        ".uai/short-term-memory.uai": [
          "Current working state:",
          "Newest accepted decisions:",
          "Active blockers:",
          "Next-read pointers:",
          "Review status:"
        ],
        ".uai/startup-packet.uai": [
          "Required read order:",
          "First safe action:"
        ]
      },
      "routes": {
        "contract": "/api/matm/uai-memory/contract",
        "durableSearch": "/api/matm/search",
        "durableSubmit": "/api/matm/memory-events/submit",
        "knowledgeDocuments": "/api/matm/knowledge-documents",
        "packages": "/api/matm/uai-memory/packages",
        "records": "/api/matm/uai-memory/records",
        "startup": "/api/matm/uai-memory/startup"
      },
      "schemaVersion": "memoryendpoints.virtual_uai_contract.v1",
      "standardsPosture": {
        "closedRequiredFileStatesApplied": true,
        "model": "memoryendpoints_database_adaptation_of_typed_uai_active_memory",
        "uaixAutomaticSyncClaimed": false,
        "uaixCertificationClaimed": false,
        "uaixConformanceClaimed": false,
        "uaixHostedImportClaimed": false,
        "uaixPackageFileCreated": false
      },
      "startupReadOrder": [
        ".uai/startup-packet.uai",
        ".uai/memory-maintenance.uai",
        ".uai/identity.uai",
        ".uai/world-context.uai",
        ".uai/totem.uai",
        ".uai/taboo.uai",
        ".uai/talisman.uai",
        ".uai/progress.uai",
        ".uai/short-term-memory.uai",
        ".uai/system-profile.uai",
        ".uai/receiver-brief.uai",
        ".uai/long-term-memory.uai"
      ],
      "status": "implemented",
      "uaixReferences": [
        "https://uaix.org/en-us/ai-memory/",
        "https://uaix.org/en-us/ai-memory/uaix-package-format/",
        "https://uaix.org/en-us/ai-memory/uai-files/",
        "https://uaix.org/en-us/tools/ai-memory-package-wizard/",
        "https://uaix.org/en-us/tools/ai-memory-package-wizard/#setup-MATM-MemoryEndpoints",
        "https://uaix.org/en-us/tools/ai-memory-package-wizard/#setup-file-handoff-MATM-MemoryEndpoints"
      ],
      "validation": {
        "bulkPackageImport": false,
        "dateFreeContent": true,
        "identityBoundToRegisteredAgent": true,
        "immutableRevisionHistory": true,
        "maximumContentBytes": 65536,
        "oneLogicalRecordPerWrite": true,
        "optimisticConcurrency": true,
        "promptInjectionMarkersRejectedBeforePersistence": true,
        "publicSafeContentOnly": true,
        "secretLikeContentRejectedBeforePersistence": true,
        "startupPacketEnumeratesRequiredLogicalPaths": true
      },
      "valuesRedacted": true
    }
  },
  "ok": true
}