feat: split introspection backend from consolidation (trial Dolphin for her voice)

reflect()/think() can now run on a different model than memory consolidation:
INTROSPECTION_BACKEND / INTROSPECTION_MODEL (default to SUMMARY_BACKEND, so unset =
unchanged). Consolidation (summaries/profile/narrative) keeps the capable model;
her *voice* (reflections, thoughts) can run a steerable tune. dream.py lets
reflect()/think() self-resolve to the introspection backend; both now thread a
`model` override into llm.complete.

Trial live: introspection -> dolphin3:8b on the 3090; consolidation -> Qwen-32B
on the MI50. Suite 73 green, ruff clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-22 06:09:12 +00:00
parent c2cee3be4d
commit 05ae98abdb
6 changed files with 47 additions and 12 deletions
+5
View File
@@ -40,3 +40,8 @@ LYRA_TIMEZONE=America/New_York
# --- External input feeds (RSS/Atom, comma-separated) ---
LYRA_FEEDS=https://hnrss.org/frontpage,https://www.pokernews.com/rss.php
FEED_REACT_PROB=0.5 # chance a new thought reacts to a feed item
# --- Introspection backend (reflect/think) — her *voice*, may differ from consolidation ---
# Defaults to SUMMARY_BACKEND. Set to run her reflections/thoughts on a steerable model.
INTROSPECTION_BACKEND=
INTROSPECTION_MODEL=