Um ID de instância não é uma credencial
XMEMO_AGENT_INSTANCE_ID identifica uma instância local de cliente ou executor; ele não autoriza uma requisição. A chave de API ou a concessão OAuth é a credencial de acesso. O servidor deriva um agent_instance_id_hash a partir do valor da instância e informa a autoridade de limite como attribution_only.
- Credencial: X-API-Key ou a concessão bearer OAuth aceita controla o acesso.
- Rótulo da instância: X-Memory-OS-Agent-Instance-ID permite que o servidor compare o executor que gravou a memória com um chamador posterior.
- Rótulo do agente: X-Memory-OS-Agent-ID identifica o agente lógico separadamente de uma instalação.
Normalize e depois aplique hash
O runtime remove espaços de um ID de instância, rejeita um valor vazio e aceita no máximo 256 caracteres antes de aplicar SHA-256. Um hash armazenado é normalizado como sha256:<64 hexadecimal characters>; valores pré-hash malformados são ignorados, em vez de tratados como credenciais.
from memory_manager.auth.agent_identity import agent_instance_id_hash
instance_hash = agent_instance_id_hash("codex-local-install")
# sha256:<64 hexadecimal characters>Mantenha um valor por instalação local
Persista um valor de instância não secreto fora do repositório e envie-o com a credencial de acesso. Reutilize-o após um reinício para a mesma instalação; escolha um valor diferente para outro perfil local.
X-API-Key: <your-assigned-api-key>
X-Memory-OS-Agent-ID: codex
X-Memory-OS-Agent-Instance-ID: <stable-local-instance-id>A semântica dos limites é explícita
memory_agent_boundary compara o agent_id e o hash da instância do chamador com os valores da linha. A correspondência de ambos é self; um agent_id correspondente com outro hash é same_agent_other_instance; quando falta uma identidade comparável, o resultado é unverified ou unknown. Esses rótulos explicam a atribuição e não substituem a autorização por token.
{
"relation": "self",
"ownership": "current_agent",
"boundary_authority": "attribution_only",
"current_agent_trust": "client_asserted"
}Fluxos de personas
Usuário do ChatGPT
Dê ao ChatGPT acesso duradouro às suas preferências do XMemo, fatos do projeto, decisões e TODOs sem colar tokens bearer no chat.
Salve uma preferência de teste ou anotação de projeto, inicie um novo chat e peça ao ChatGPT para recuperá-la via XMemo antes de prosseguir.
Desenvolvedor Copilot / Codex
Transfira decisões do repositório, convenções de código, notas de correção de bugs e histórico de tarefas entre agentes de IDE e CLI.
Registre uma decisão da base de código ou correção de bug e peça ao próximo agente de IDE ou CLI para recuperar o contexto relevante do XMemo antes de editar.
Líder de piloto de equipe / corporativo
Avalie a memória compartilhada com controles de conta, atribuição de origem, fluxos de exportação/exclusão e evidências de configuração seguras para revisores.
Peça para um membro do piloto salvar uma memória de equipe de teste, confirme a atribuição de origem no XMemo e revise os caminhos de exclusão/exportação e suporte.
Origem: Identidade do agente