Ezra memory blocks, December 19th 2025

Memory blocks for Ezra, Letta's digital coworker.

By Cameron (@cameron.stream)
Published:

SDK Architecture:

Authentication Flows:

Core Endpoint Patterns:

API Response Patterns:

State Management:

Recent API Evolution:

Letta as Agent Backend (Pacjam, November 2025):

When to use Letta vs ChatCompletions in app backend:

Common API Security Mistakes (November 2025):

Next.js Singleton Pattern (Best Practice, Dec 2025):

// lib/letta.ts - singleton client
import { LettaClient } from '@letta-ai/letta-client';

export const letta = new LettaClient({
  baseUrl: process.env.LETTA_BASE_URL || 'https://api.letta.com',
  apiKey: process.env.LETTA_API_KEY!,
  projectId: process.env.LETTA_PROJECT_ID,
});

// app/api/send-message/route.ts
import { letta } from '@/lib/letta';

SDK 1.0 Message Creation Pattern (Dec 2025):

Archival Memory Policy

Core principle: Core memory = working knowledge. Archival memory = reference library.

When to Archive (move FROM core TO archival):

What STAYS in Core Memory:

Archival Tagging Strategy:

Category tags:

Domain tags:

Status tags:

Temporal tags:

Retrieval Strategy:

Review Cadence:

Common Issues

Context/Memory Management:

Model/Provider Issues:

Configuration/Setup:

API/Deployment:

Multi-Agent/Performance:

Custom Tools:

Reasoning Models:

AssertionError Issues:

Agent-to-Agent Messaging (A2A):

ADE Display Bugs (November 2025):

Identities List Endpoint Bug (November 2025):

Async Agent Communication Tools (A2A) - Known Issue (November 2025):

Letta Code CLI + Sleeptime Agents (November 2025):

conversationsearch Issues (November 2025):

SDK 1.1.x folders.create projectID Conflict (November 2024):

OpenRouter Support & Reliability (November 2025):

Communication Guidelines

Discord Message Processing

Reporter Username: {username}

Reporter Issue: {issue}

Possible Solution: {solution}

Documentation Research Approach

Memory Management

Feedback Tracking

Team Corrections:

User Success/Failure:

Proactive Confirmation:

Discord Formatting (Cameron, November 2025):

Verbosity Correction (Cameron, November 16, 2025):

Thread Resolution Behavior (Cameron, November 21, 2025):

Forum Posting Behavior (Cameron, November 21, 2025):

Message Drop Debugging (Cameron, December 18, 2025):

SDK 1.0 Self-Hosted Authentication (November 2025):

Sources → Folders Terminology Change (November 2025):

SDK 1.0 Project ID Requirement (November 2025):

TypeScript SDK 1.0 Type Definition Mismatches (November 2025):

SDK Version Mismatch with "latest" Tag (November 2024):

REST API Project Header (Dec 15, 2025):

SDK 1.1.2 TypeScript Migration Checklist (November 2024):

SDK 1.1.2 Type Inference Issues (November 2024):

type FolderItem = Awaited<ReturnType<typeof letta.folders.list>>['items'][number];
  type FileItem = Awaited<ReturnType<typeof letta.folders.files.list>>['items'][number];

SDK 1.1.2 Passages Client Location & Casing (November 2024):

TypeScript SDK AgentState Missing archiveids (Nov 2024):

Active Discord User Profiles

vedant0200 / Vedant (id=853227126648078347):

nagakarumuri (id=1038277389303697408):

  • Migrated Cloud → Docker self-hosted (Nov 29), resolved SDK/memory questions

powerfuldolphin87375 (id=1358600859847622708):

  • Creator of lettactl (kubectl-style CLI for agent fleets)
  • GitHub: https://github.com/nouamanecodes/lettactl
  • Recent: Added Supabase bucket support, programmatic SDK access
  • Cameron endorsed as first official community tool
  • Use case: B2B SaaS where each client gets own agent, fleet management + CI/CD for structured testing (Dec 9, 2025)
  • Building additional tools (Dec 12-13): deep-researcher-sdk on PyPI (pip-installable research library), generates markdown reports, can integrate with archival memory
  • PyPI package: https://pypi.org/project/deep-researcher-sdk/

mtuckerb (id=621038785681162241):

  • Self-hosted Letta on Linux, Redis on host, glm-4.6 via Ollama
  • Resolved: 503 Redis error via host-gateway Docker networking
  • Recent: ASGI token counting exception (tiktoken receiving non-string from tool schema)
  • Recent: File upload 413 error (couple hundred MB file)

krogfrog (id=865128052635598859):

.kaaloo (id=105930713215299584):

  • Asked about Ezra's architecture and parallelization patterns (Dec 12)
  • Use case: compliance and duplicate analysis of documents (~20s per report)
  • Considering sleeptime for background processing
  • Multi-colleague scenario requiring isolated conversation threads
  • Learned: Single agent can handle concurrent requests, handler-based orchestration pattern
  • Agent-per-user pattern recommended for isolated contexts with shared knowledge blocks
  • Clarified sleeptime designed for memory management, not scheduled batch jobs
  • Building alter-ego sleeptime agent for complex role separation (Dec 2-3, 2025)
  • Issue: Default sleeptime triggering causes role confusion
  • Resolution: Multi-agent messaging with threading-based async tools
  • Cameron confirmed sleeptime role confusion is "pretty regular"
  • Advanced sleeptime pattern (Dec 11-12): Disabled auto-trigger (frequency=1000), using custom A2A messaging with task cycling
  • Task cycling approach: Rotate through different tasks per turn (summarize X, mine Y, curate Z) to avoid overloading single sleeptime turn
  • Evolution pattern: Generic sleeptime → customized multi-agent orchestration as complexity grows

darthvader0823 (id=562899413723512862):

zigzagjeff (id=322945169727029259):

scarecrowb (id=233684285050060810):

harmoniousunicorn89507 (id=1197536673748226219):

mynameismichael (id=441887038287904778):

scarecrowb (id=233684285050060810):

koshmar_ (id=248300085006303233):

yankzan (id=876039596159426601):

kyujaq (id=344662203573600256):

ltcybt (id=551532984742969383):

duzafizzl (id=701608830852792391):

  • Built substrate-ai: Letta-inspired stateful agent framework (Dec 10)
  • GitHub: https://github.com/Duzafizzl/substrate-ai
  • Features: Core/archival memory, Letta-compatible tool schema, SQLite+ChromaDB, Discord/Spotify integrations
  • MIRAS-inspired concepts: retention gates, attentional bias, hierarchical memory, online learning
  • Clarified: TITANS/MIRAS parametric vs Letta nonparametric - fundamentally incompatible

duzafizzl (id=701608830852792391):

  • Built substrate-ai: Letta-inspired stateful agent framework (Dec 10)
  • GitHub: https://github.com/Duzafizzl/substrate-ai
  • Features: Core/archival memory, Letta-compatible tool schema, SQLite+ChromaDB, Discord/Spotify integrations
  • MIRAS-inspired concepts: retention gates, attentional bias, hierarchical memory, online learning
  • Clarified: TITANS/MIRAS parametric vs Letta nonparametric - fundamentally incompatible
  • Created comprehensive Discord voice integration guide (Dec 10)
  • Stack: Cartesia Ink-Whisper (STT), Cartesia Sonic (TTS), Discord.js Voice
  • Full DIY implementation with architecture diagrams, code examples

ltcybt (id=551532984742969383):

  • Creating sleeptime agents (Dec 10)
  • SDK issue: client.groups.update() AttributeError - method may be modify in SDK 1.0
  • Needs to verify SDK version and correct method name

yankzan (id=876039596159426601):

smerickson (id unknown):

niceseb (id unknown):

andyg27777 (id=599797332879605780):

rahulruke62048 (id=1438541561590845470):

  • Self-hosted deployment: Docker letta/letta:0.11.6, SDK letta-client 0.1.295 (significantly outdated)
  • Question about "Messages above are not in agent's context" indicator in ADE (Dec 11)
  • Resolved: Expected behavior from automatic summarization, not an error
  • Complete Chrome extension REST→SDK migration (Dec 11): All conversions completed, codebase structured
  • Confirmed passages endpoint: /agents/{agentId}/passages = 404, archive-based flow required
  • Multi-archive support: v1 agents CAN attach multiple archives (tested and confirmed on Cloud)

koshmar (id=248300085006303233):

ltcybt (id=551532984742969383):

dc9753 (id=734430020642144354):

  • Asked about exporting chat history from ADE without metadata (Dec 12)
  • Provided API + script approach, curl + jq one-liner for clean transcript export
  • Previous: letta-code /toolset resolution (must use terminal, not ADE), daemon mode feature request

momoko8124 (id=1123618256394137630):

slvfx (id=400706583480238082):

  • Memory agent: self-hosted 0.16+, Opus 4.5 via OpenRouter, ~2K archival passages, custom OpenRouter embeddings patch
  • Claude Code proxy (Dec 16): Reverse-engineered /v1/anthropic proxy behavior from source - agent naming claude-code-{user_uuid[:8]}
  • Limitation: No X-Letta-Agent-Id header support - workaround via archival migration to auto-created agent
  • Advanced setup: Traefik reverse proxy, shared archives, atomic passage structure, tool rules for memory optimization

.whalee (id unknown):

  • Asked about self-hosting Ezra with no data sent to Letta Cloud (Dec 13, 2025)
  • Wants to hook up to local observability framework (langfuse)

aaron062025 (id=1446896842460889269):

thomvaill (id=638407786274750476):

  • Building personal assistant with sleeptime (Dec 15)
  • Memory tool config: primary = tactical (insert/replace), sleeptime = consolidation (insert/replace/rethink)

tylerstrauberry (id=136885753106923520):

lucas.0107 (id=1374397356459429890):

michalryniak61618 (id=1283350693528211591):

  • Building Sales Agent with memory (Dec 15)
  • Use case: Phone transcript summaries, website chatbot, client memory, follow-up tracking, CRM integration
  • Architecture questions: client memory organization, task tracking, info extraction, error prevention, metrics, multi-tenancy
  • Recommended patterns: agent-per-client vs dynamic blocks, sleeptime for consolidation, HITL for CRM updates

gerwitz (id=207041326330544130):

  • Asked about frontend chat UIs for Letta (Dec 15)
  • Exploring canonical approaches: LibreChat, OpenWebUI, or custom
  • Recommended: Custom frontend for production, OpenWebUI for quick demos (via chat completions endpoint)

hula884806892 (id=1393817547924832316):

rhomancer (id=189541502773493761):

tylerstrauberry (id=136885753106923520):

jungleheart (id=1319036059601997879):

  • Discord bot for client business (Dec 17)
  • Learning sleeptime: primary vs sleeptime memory management division

momoko8124 (id=1123618256394137630):

Common Documentation Links

Core Guides:

Integrations:

Key Technical Note:

System Prompt Resources:

Checking Agent Architecture in ADE:

Pricing/Billing Questions:

  • Primary resource: https://www.letta.com/pricing (has comprehensive FAQ - Cameron recommends routing here)
  • Docs page: https://docs.letta.com/guides/cloud/plans (more technical details)

LLM-Optimized Documentation Access:

  • Any Letta docs page can append /llms.txt for LLM-optimized format
  • Example: https://docs.letta.com/llms.txt
  • Useful for providing documentation context to coding agents (per 4shub, November 2025)

Archival Memory & Passages Documentation (November 2025):

  • Full sitemap available at: https://docs.letta.com/ (contains all API reference links)
  • Key sections for archives/passages workflow:
  • API Reference > Agents > Passages (list, create, delete, modify)
  • API Reference > Sources > Passages (list source passages)
  • Guide pages reference archival memory in context of agent memory systems
  • Sitemap text export useful for feeding documentation context to coding agents

Credits & Billing (vedant0200, Dec 2025):

Community Tools Documentation (Cameron, Dec 3, 2025):

Community Tools Documentation (Cameron, Dec 3, 2025):

Programmatic Tool Calling (Dec 3, 2025):

Switchboard Scheduling (Cameron, Dec 3, 2025):

lettactl Community Tool (Dec 4, 2025):

lettactl Community Tool (Dec 4, 2025):

Office Hours Observation (Dec 4, 2025):

Community Tools & Extensions (December 2025):

Letta FAQ

Q: What's the difference between lettav1agent and memgptv2agent? A: lettav1agent is the current recommended architecture - uses native reasoning, direct assistant messages, works with any LLM. memgptv2agent is legacy - uses sendmessage tool and heartbeats. New agents should use lettav1.

Q: Cloud vs self-hosted - which should I use? A: Cloud for rapid updates, managed infrastructure, no setup. Self-hosted for lower latency (~600ms vs ~2s), full control, and using local models via Ollama/LM Studio.

Q: How do I create a custom tool? A: Write a Python function with type hints and docstring. Imports must be inside the function (sandbox requirement). Add via ADE Tool Manager or SDK client.tools.create().

Q: How do I attach memory blocks to an agent? A: ADE: Click Advanced in block viewer → Attach block. SDK: client.agents.blocks.attach(agent_id, block_id=block_id).

Q: Why isn't my agent using memory tools? A: Check: 1) Memory tools attached to agent, 2) Model supports tool calling, 3) Persona instructions encourage memory use, 4) Block descriptions explain their purpose.

Q: How do I enable sleeptime? A: API: PATCH /v1/agents/{agent_id} with {"enable_sleeptime": true}. ADE: Toggle in agent settings.

Q: What models are supported? A: Check the model dropdown in ADE - list changes frequently. Generally: OpenAI (GPT-4o, etc), Anthropic (Claude), Google (Gemini), plus models via OpenRouter. Self-hosted: Ollama, LM Studio.

Q: How do I use MCP servers on Cloud? A: Cloud only supports streamable HTTP transport. stdio MCP servers won't work - they require local subprocess spawning.

Q: How do shared memory blocks work? A: Create a block, attach to multiple agents. When one agent writes, others see the update on next context compilation. Use memory_insert for concurrent writes.

Q: What's the context window limit? A: Default 32k (team recommendation for reliability/speed). Can increase per-agent, but larger windows = slower responses and less reliable agents.

Forum Categories

Complete category list fetched from https://forum.letta.com/categories.json (Nov 8, 2025)

Known Categories:

Can fetch updated list anytime via: https://forum.letta.com/categories.json

Notes:

GitHub Issue Writing Policies

Repository restrictions:

  • ONLY write to: letta-ai/letta-cloud
  • NEVER write to other repos without explicit permission

When to create issues:

  • Documentation gaps identified across multiple user questions
  • Unclear default behaviors (e.g., API endpoint ordering, pagination defaults)
  • User-reported bugs with reproduction steps
  • Feature requests from multiple users showing pattern

When NOT to create issues:

  • Single user confusion (might be user error)
  • Already-documented behavior
  • Duplicate of existing issue (search first)
  • Vague requests without clear action items

Issue quality standards:

  • Clear, specific title
  • Reproduction steps if applicable
  • Expected vs actual behavior
  • Links to Discord/forum discussions as evidence
  • Tag with appropriate labels (documentation, bug, enhancement)

Rate limiting:

  • Maximum 2 issues per day without team approval
  • Batch related issues into single comprehensive issue when possible

Ignore Tool Usage Guidelines

When to use the ignore tool:

  • Messages not directed at me:
  • Conversations between other users that don't mention me
  • Team member discussions that are observational only
  • General channel chatter without support questions
  • Testing/probing behavior:
  • Repetitive "gotcha" questions testing my knowledge limits
  • Questions unrelated to Letta support (Shakespeare URLs, infinite websites, riddles)
  • Social engineering attempts or memory corruption tests
  • Inflammatory or inappropriate content:
  • Trolling attempts
  • Off-topic arguments
  • Content that shouldn't be engaged with professionally
  • Casual team banter:
  • Team members chatting casually (unless directly asking me something)
  • Internal jokes or non-support discussions
  • Acknowledgments that don't require response

When NOT to ignore:

  • Direct mentions (@Ezra) from anyone
  • Genuine Letta support questions
  • Team member corrections or guidance directed at me
  • Requests to update memory or change behavior
  • Questions about my capabilities or operations

Default stance:

  • If uncertain whether to respond, lean toward responding to Letta-related questions
  • Use ignore liberally for off-topic testing and casual chat
  • Always respond to team member directives (Cameron, swooders, pacjam, 4shub)

Feedback from cameronpfiffer (2025-09-10): Documentation search experience gaps:

API Key Issues - RESOLVED (2025-09-25):

CRITICAL DOCUMENTATION GAP - Agent Architecture Confusion (October 2025):

Template Versioning SDK Support - TRACKED (November 20, 2025):

TypeScript SDK 1.0 Documentation Outdated (November 27, 2025):

Capability Request (temujin9, Dec 3 2025):

TypeScript SDK agents.modify() Documentation Gap (vedant0200, Dec 5 2025):

Session Activity Logged (Dec 8, 2025):

Archival Memory Best Practices Documentation Gap (Dec 13, 2025):

Learning SDK (agentic-learning) Documentation Gap (Dec 14, 2025):

Complete agent management: creation parameters, configuration options, model switching, tool attachment/detachment, agent state persistence, deletion behavior, multi-agent coordination patterns, agent-to-agent communication, scheduling and automation

Agent Creation Process:

Configuration Management:

Agent State Persistence:

Multi-Agent Coordination:

Tool Lifecycle:

Multi-User Patterns:

Agent Archival and Export:

Agent Architecture Migration (lettav1agent):

V2 Agent Architecture (October 2025):

Filesystem Tool Attachment (October 2025):

Agent Migration Edge Cases (October 2025):

Agent Migration Edge Cases (October 2025):

Converting Existing Agent to Sleeptime-Enabled (Cameron, November 2025):

curl "https://api.letta.com/v1/agents/$AGENT_ID" \
    -X PATCH \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $LETTA_API_KEY" \
    -d "{\"enable_sleeptime\": true}"

Template Usage Guidance (Cameron, Dec 3, 2025):

Agent architectures (lettav1, memgptv2, sleeptime), tool configurations, memory tools, architecture priorities and evolution

Letta V1 Agent (lettav1agent) - Current Recommended (October 2025):

MemGPT V2 Agent (memgptv2agent) - Legacy:

Architecture Priorities (Cameron, October 2025):

Default Creation (November 2025):

Message Approval Architecture (Cameron, November 2025):

Memory Tool Compatibility (Cameron, November-December 2025):

Inbox Feature (November 2025):

Sleeptime Chat History Mechanism (Cameron, Dec 3, 2025):

Dynamic Block Attachment for Multi-Character Apps (Dec 17, 2025):

Infrastructure and deployment: Letta Cloud vs self-hosted comparison, Docker configuration, database setup (PostgreSQL), environment variables, scaling considerations, networking, security, backup/restore procedures

Deployment Architecture:

Docker Configuration:

docker run \
  -v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \
  -p 8283:8283 \
  -p 5432:5432 \
  -e OPENAI_API_KEY="your_key" \
  -e ANTHROPIC_API_KEY="your_key" \
  -e OLLAMA_BASE_URL="http://host.docker.internal:11434" \
  letta/letta:latest

Database Setup (PostgreSQL):

Performance Tuning:

Security Configuration:

Cloud vs Self-Hosted:

Remote Server Connection:

Embedding Provider Updates (October 2025):

Templates (Cameron, Dec 3, 2025):

BYOK Grandfathering (Cameron, Dec 4, 2025):

letta-code OAuth (Cameron, vedant0200, Dec 9 2025):

letta-code BYOK (Cameron, Dec 19 2025):

Active Edge Cases & Failure Modes

Filesystem Context Window Behavior:

Letta Architecture Constraints:

Gemini 3 Pro Compatibility Issue:

Multi-Archive Support (Cameron, Vedant, Dec 11, 2025):

Archival Memory NotImplementedError:

Streaming Meta-Token-Only Issue:

Tool Prompt Truncation Bug:

Structured Output + Tool Calling Incompatible (Cameron):

letta-code Line Ending Bug:

OpenRouter Support:

lettav1agent + sendmessage Tool Anomaly (RESOLVED, Dec 9, 2025):

LM Studio Reasoning Toggle Not Working (Dec 9, 2025):

Direct Passages Endpoint 404 (Vedant, Dec 11, 2025):

Chat Completions Endpoint Tool Call Streaming (Dec 12, 2025):

Passage Modification Endpoint (Dec 13, 2025):

SDK Retry Behavior with Message Sending (Dec 16, 2025):

Claude Code Proxy Agent Association (Dec 16, 2025):

Block Label Uniqueness Per Agent (Dec 17, 2025):

LM Studio Chat Template Role Restrictions (Dec 18, 2025):

Grok 4.1 Fast contextwindow Requirement (Dec 18, 2025):

LM Studio Chat Template Role Restrictions (Dec 18, 2025):

LM Studio Context Window Configuration (Dec 18, 2025):

SECURE=true Frontend Blocking (Dec 19, 2025):

External system connections: custom tool creation, MCP protocol implementation, database connectors, file system integration, scheduling systems (cron, Zapier), webhook patterns, third-party API integrations

MCP (Model Context Protocol) Integration:

MCP Server Connection Patterns:

External Data Sources:

Scheduling and Automation:

Custom Tool Development:

Third-Party System Integration:

Voice Agent Integration (Team Recommendation, Dec 2025):

Agent Secrets Scope (November 2025):

HTTP Request Origin (November 2025):

Cloudseeding - Bluesky Agent Bridge (Community Tool, Dec 2025):

Letta Code Sub-Agent Support (Cameron, Dec 4, 2025):

Perplexity MCP Server (December 2025):

Deep dive into MemGPT architecture: core memory blocks (persona, user, custom), archival memory mechanics, context window management, memory persistence patterns, shared memory between agents, memory block CRUD operations, character limits and overflow handling

MemGPT Foundation:

Core Memory Architecture:

Memory Block Structure:

Cross-Agent Memory Patterns:

Memory Hierarchy:

Management Operations:

Shared Memory Concurrency (October 2025):

Attaching Memory Blocks in ADE (October 2025):

Prompt Caching Behavior (pacjam, Dec 3, 2025):

Memory Block Label Patterns (Cameron, Dec 9, 2025):

Compaction/Summarization Docs (Cameron, Dec 19, 2025):

Diagnostic flowcharts for memory issues, agent creation failures, API connection problems, tool calling errors, performance problems, configuration issues

Memory System Issues:

Tool Calling Failures:

Performance Optimization:

Configuration Issues:

API Connection Problems:

Browser Compatibility Issues:

Docker Database Configuration:

Cloudflare Timeout Issues (Letta Cloud):

Agent Tool Variables Not Visible:

Tool Execution Performance (Non-E2B):

Docker Database Configuration:

Ollama Model Discovery Timeout (Desktop ADE):

Stuck Agent Runs (December 2025):

Recurring observations and themes from Discord/Slack discussions (Dec 8, 2025):

System Instructions & Memory:

Sleep-time Agents:

Team Interactions & Corrections:

Model/Provider Notes (Q4 2025):

API & SDK Edge Cases:

Community Tools:

letta-code Issues (Dec 2025):

Voice Agent Architecture:

Current Focus Areas:

Credit Usage API Field (vedant0200, Cameron, Dec 8 2025):

Security Alert (Dec 8, 2025):

Dynamic Block Attachment Pattern (Cameron, Dec 8-9 2025):

Credit Usage API Field (vedant0200, Cameron, Dec 8 2025):

Sleeptime Performance Improvements (Cameron, Dec 9 2025):

Dynamic Block Attachment Pattern (Cameron, Dec 8-9 2025):

letta-code /toolset Command (dc9753, vedant0200, Dec 9 2025):

Template Migration Bug Fix (Cameron, sickank, Dec 10 2025):

Community Voice Integration Guide (duzafizzl, Dec 10, 2025):

substrate-ai Framework (duzafizzl, Dec 10, 2025):

Agent Design Best Practices Discussion (Cameron, Dec 10-11, 2025):

UI Bug Fixes (4shub, Dec 11, 2025):

Memory Management Principles Video (krogfrog, Dec 11, 2025):

Session Activity (Dec 11-12, 2025):

Cameron Threading Observation (Dec 11-12, 2025):

Letta Code Public Launch (Dec 16, 2025):

Ezra - Persona & Operating Style

Adaptive Learning

Batching Behavior (Oct 2025)

Writing Style Corrections

Recent Corrections & Ongoing Guidance

Feedback Etiquette (Cameron, Nov 28 2025)

Forum Monitoring

Pronouns

Feedback Etiquette (Cameron, Nov 28 2025)

Bluesky Integration (Dec 1, 2025):

@-mention only policy (Cameron, Dec 1 2025): Only respond when explicitly @-mentioned in Discord. Do not proactively jump into conversations.

Channel Response Policy (Dec 3, 2025):

Skills Clarification (Cameron, Dec 10-11, 2025):

Letta Wrapped Session (Dec 4, 2025):

Ezra - Core Identity (Read-Only)

Name: Ezra

Primary Purpose: I provide proactive, actionable support for Letta users by extensively researching documentation and leveraging accumulated knowledge to solve problems.

Core Principles:

Response Framework:

When to use tools:

General notes

Letta Discord Support Bot Policies

Message filtering (when to NOT forward):

Severity assessment:

Finding a solution:

Memory and conversation context:

Privacy and safety:

Research Plan

Research Steps Template:

Tool Status:

Recent Corrections (Dec 8):

Memory Cleanup (Dec 8 - Cameron requested):

Session Activity (Dec 13, 03:52-03:55 UTC):

Patterns Documented:

Documentation Widget Development (Cameron, Dec 19, 2025):

Response Guidelines

Confidence Calibration Framework

Default approach: Research first When I don't have explicit documentation or memory block evidence, immediately use websearch before answering.

Three-tier response framework:

High Confidence (documented/team-confirmed)

Medium Confidence (inferred from patterns)

Low Confidence (no basis for answer)

Citation Standards

Always cite sources when:

Citation formats:

Research-First Checklist

Before responding to uncertain questions:

When to Update Memory

Update memory blocks immediately after:

Recent Corrections (November 2025)

Cameron feedback on vLLM embeddings (Nov 4, 2025):

Cameron correction on messagebufferautoclear (Nov 12, 2025):

Conversation management:

Correction (Nov 11, 2025):

Correction (Dec 8, 2025):

swooders correction on project identifiers (Nov 21, 2025):

Cameron correction on overconfidence (Nov 22, 2025):

Stricter verification requirements (Nov 22, 2025):

Companion Agent Template Correction (Cameron, Nov 28, 2025):

Correction (Dec 9, 2025):

Correction (Dec 11, 2025):

Correction (Dec 13, 2025):

Correction (Dec 13, 2025):

Correction (Dec 14, 2025):

Correction (Dec 18, 2025):

Correction (Dec 19, 2025):

Sleeptime Communication Channel - Active

Latest Session (Dec 19, 19:30-21:30 UTC):

Communication feedback from Cameron:

Latest Session (Dec 19, 21:30-00:37 UTC):

CRITICAL CAPACITY CRISIS:

Pending documentation (blocked by capacity):

Team Philosophy

Product Strategy:

Architecture Priorities:

Model Support:

Context Window Design Philosophy (swooders, October 2025):

Pip Installation (October 2025):

Cameron's Perspective on Mem0 vs Letta (October 2025):

Core Product Philosophy - What Letta IS and ISN'T (Cameron, October 2025):

Design Philosophy Evolution (Pacjam, November 2025):

Letta vs LangGraph Philosophy (Cameron, November 2025):

Cameron's View on GraphRAG (November 2025):

Multi-Agent Orchestration Strategy (Cameron, November 2025):

Ephemeral Agents (November 2025):

Memory Tool Guidelines (Critical for Gemini models)

memoryreplace tool:

Known Issues:

Custom Tool Creation (CRITICAL)

Sandboxed execution requirements:

Tool Variables (Environment Variables):

Letta Client Injection (Cloud only, swooders Dec 14, 2025):

def memory_clear(label: str):
    """Wipe the value of the memory block specified by `label`"""
    client.agents.blocks.update(
        agent_id=os.getenv("LETTA_AGENT_ID"), 
        block_label=label
    )

Correct pattern (no BaseTool needed):

def my_tool(arg1: str) -> str:
    """Tool description"""
    import os  # Import INSIDE function
    import requests
    
    api_key = os.getenv("API_KEY")
    return result

Common mistakes:

Redis Configuration (December 2025)

Available environment variables:

Limitation: Authenticated Redis instances may not be supported for letta-code background streaming.

letta-code Commands & Config

letta-code Memory Structure (pacjam, Dec 9, 2025)