Han Solo
Home
How it works
Working with Ren
Roadmap
Architecture
Han Solo
Architecture & Flows
Click any node or flow to trace the path
Claude
(any MCP client)
Web Browser
Scott / Ted
dream.py
nightly cron (launchd)
synthesize.py
cron (Render / launchd)
Render
health check / deploy
BearerAuthMiddleware
auth.py · raw ASGI
FastMCP Server
server.py · /mcp endpoint
config.py
TOKEN_REGISTRY · env vars
validation.py
write contract enforcement
chat_api.py
REST routes · history cache
tools/memory
read/write core blocks
tools/signals
archival signal writes
tools/phase
phase gates · project state
tools/brief
session brief · health
tools/portraits
forming · trusted layers
letta_client.py
async httpx · auth headers · redirect handling · agent ID resolution
Letta API
han-solo-letta.onrender.com
Core Memory Blocks
always_loaded_core
pending_thoughts
project_state
*_portrait_forming/trusted
Archival Memory (vector)
signals · session summaries
foundational passages
Ren Agent
claude-haiku-4-5
memgpt_agent type
Anthropic API
claude-sonnet-4-6
VoyageAI
voyage-3 embeddings
db.py
asyncpg pool · health tracking · jobs_paused flag
PostgreSQL
Render managed DB
chat_transcripts
session_id · role · content · processed
han_solo_config
memory_transitions (T1→T2→T3 audit log)
Dockerfile (MCP)
based on han-solo image
Dockerfile.synth
python:3.11-slim · asyncpg
letta/letta:0.16.7
+ psycopg2-binary
chat_html.py
CHAT_HTML constant
Lifespan
httpx init · DB pool
session manager
CLIENTS
AUTH / SERVER
MCP TOOLS
LETTA CLIENT
DATABASE
EXTERNAL SERVICES
Flows — click to trace
Steps
Select a node or flow to see the full path.
Letta / Memory
Web UI / Chat
MCP Server / Tools
Config / Background
Auth / Validation
Synthesis / Embeddings
Anthropic API
Live call
Async / scheduled