Conversation Example
A normalized conversation imported from Claude, demonstrating the PAM conversation schema. This corresponds to
conv-001 in the Complete Memory Store example.
Example
Section titled “Example”{ "schema": "portable-ai-memory-conversation", "schema_version": "1.0", "id": "conv-001", "provider": { "name": "claude", "conversation_id": "28d595a3-5db0-492d-a49a-af74f13de505", "account_id": "acc-uuid", "export_format_version": "2025.01" }, "title": "Initial setup and infrastructure discussion", "temporal": { "created_at": "2024-06-01T10:00:00Z", "updated_at": "2024-06-01T16:00:00Z" }, "participants": [ { "role": "user", "name": "User" }, { "role": "assistant", "name": "Claude" } ], "messages": [ { "id": "msg-001", "provider_message_id": "uuid-from-claude", "role": "user", "content": { "type": "text", "text": "Preciso configurar a infraestrutura de rede do datacenter com isolamento VLAN e BGP." }, "created_at": "2024-06-01T10:00:00Z", "parent_id": null, "children_ids": [ "msg-002" ], "model": null, "is_thought": false, "token_count": 18, "attachments": [], "citations": [], "tool_calls": [], "raw_metadata": {} }, { "id": "msg-002", "provider_message_id": "uuid-from-claude-2", "role": "assistant", "content": { "type": "text", "text": "Vamos definir a topologia de rede começando pelo isolamento de VLANs por tenant e a configuração BGP para upstream." }, "created_at": "2024-06-01T10:01:00Z", "parent_id": "msg-001", "children_ids": [], "model": "claude-3-opus-20240229", "is_thought": false, "token_count": 52, "attachments": [], "citations": [], "tool_calls": [], "raw_metadata": {} } ], "model": "claude-3-opus-20240229", "system_instruction": null, "is_archived": false, "tags": [ "infrastructure", "networking", "datacenter" ], "import_metadata": { "importer": "pam-converter/1.0.0", "importer_version": "claude-importer/2025.01", "imported_at": "2026-02-15T22:00:00Z", "source_file": "conversations.json", "source_checksum": "sha256:abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890" }}Key Sections
Section titled “Key Sections”Provider
Section titled “Provider”Identifies the source platform (claude), the original conversation ID as assigned by Claude (28d595a3-…), and the
export format version (2025.01). The export_format_version is used by importers to select the correct parsing logic,
since provider export formats may change over time.
Participants
Section titled “Participants”Two participants with normalized roles: user and assistant. PAM normalizes provider-specific role values (Claude
exports use human/assistant; ChatGPT uses user/assistant) into a consistent vocabulary.
Messages
Section titled “Messages”Two messages demonstrating the thread structure:
- msg-001 — User message with
parent_id: null(root message) andchildren_ids: ["msg-002"]linking to the reply. The user message hasmodel: nullsince it was not generated by a model. - msg-002 — Assistant reply with
parent_id: "msg-001"pointing back to the user message,model: "claude-3-opus-20240229"identifying the model that generated it, and emptychildren_idsindicating it is a leaf node.
Claude conversations are linear (no branching), so parent_id/children_ids form a simple chain. For branching
conversations (like ChatGPT), a message may have multiple children, each representing a different conversation fork. The
PAM conversation schema supports both linear and DAG structures using the same fields.
Import Metadata
Section titled “Import Metadata”Records the importer version (claude-importer/2025.01), source file (conversations.json), and a SHA-256 checksum of
the source file for traceability. This allows re-import detection and auditing of which source export a conversation was
derived from.