# ── Postgres (memory service) ──────────────────────────────────────────────── POSTGRES_USER=sre POSTGRES_PASSWORD=sre_secret POSTGRES_DB=sre_memory POSTGRES_URL=postgresql+asyncpg://sre:sre_secret@localhost:5432/sre_memory # ── LLM ───────────────────────────────────────────────────────────────────── ANTHROPIC_API_KEY=sk-ant-... # ── Embeddings ─────────────────────────────────────────────────────────────── EMBED_MODEL=all-MiniLM-L6-v2 # ── Retrieval ──────────────────────────────────────────────────────────────── # Cosine similarity threshold below which a lesson is not returned (no-match) SIMILARITY_THRESHOLD=0.75 # Max lessons returned per retrieval query RETRIEVAL_TOP_K=3 # ── Consolidation job ──────────────────────────────────────────────────────── # How often the offline consolidation job runs (minutes) CONSOLIDATION_INTERVAL_MINUTES=60 # Minimum decisions in a cluster before a lesson is written CONSOLIDATION_MIN_CLUSTER_SIZE=3 # Cosine distance threshold for k-means cluster merging CONSOLIDATION_CLUSTER_DISTANCE=0.25 # Decay half-life for stale lessons (days) LESSON_DECAY_HALFLIFE_DAYS=30 # ── Agent ──────────────────────────────────────────────────────────────────── AGENT_VERSION=v2.0.0 # Claude model to use for the reasoning loop CLAUDE_MODEL=claude-sonnet-4-5 # ── Episode limits ─────────────────────────────────────────────────────────── MAX_STEPS_PER_EPISODE=20 EPISODE_TIMEOUT_SECONDS=300