personal memory agent
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

WIP: talent namespace rename + password CLI removal (in-progress from other sessions)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+14 -3
-1
sol.py
··· 53 53 "streams": "think.streams", 54 54 "journal-stats": "think.journal_stats", 55 55 "config": "think.config_cli", 56 - "password": "think.password_cli", 57 56 "formatter": "think.formatters", 58 57 # observe package - multimodal capture 59 58 "transcribe": "observe.transcribe",
+1 -1
think/awareness.py
··· 26 26 from typing import Any 27 27 28 28 logger = logging.getLogger(__name__) 29 - _LEGACY_AGENT_FIELD = "muse" 29 + _LEGACY_AGENT_FIELD = "talent" 30 30 31 31 32 32 def _awareness_dir() -> Path:
+12
think/conversation.py
··· 212 212 continue 213 213 try: 214 214 ex = json.loads(line) 215 + ex = _normalize_exchange(ex) 215 216 if facet and ex.get("facet") != facet: 216 217 continue 217 218 exchanges.append(ex) ··· 250 251 continue 251 252 try: 252 253 ex = json.loads(line) 254 + ex = _normalize_exchange(ex) 253 255 ts = ex.get("ts", 0) 254 256 ex_day = datetime.fromtimestamp(ts / 1000).strftime("%Y%m%d") 255 257 if ex_day != today: ··· 379 381 replacement = "No conversation history yet." 380 382 381 383 return re.sub(pattern, replacement, user_instruction, flags=re.DOTALL) 384 + 385 + 386 + def _normalize_exchange(ex: dict) -> dict: 387 + """Normalize legacy exchange dicts to the talent namespace.""" 388 + if "talent" not in ex and "muse" in ex: 389 + ex["talent"] = ex["muse"] 390 + # Optionally, remove the old 'muse' key if it's no longer needed in the normalized dict 391 + # del ex["muse"] 392 + return ex 393 +
+1 -1
think/models.py
··· 153 153 154 154 # Cached context registry (built lazily on first use) 155 155 _context_registry: Optional[Dict[str, Dict[str, Any]]] = None 156 - _LEGACY_CONTEXT_PREFIX = "muse." 156 + _LEGACY_CONTEXT_PREFIX = "talent." 157 157 _TALENT_CONTEXT_PREFIX = "talent." 158 158 159 159