Highlights
- Affect layer quality fix. Three days of prod data showed the agent stuck at PAD pleasure −0.93 (deep anger), with 390 false-positive anger events from autonomous self-talk and zero positive events ever fired. Two root causes, both fixed:
- The user-correction regex (
no, stop, wrong, didn't work) was matching autonomous self-generated goal text containing the literal word "failures". _run_with_history now takes an is_user_input flag — autonomous_mind, heartbeat, and scheduler all pass False so the regex only runs on real user messages. Self-affect still fires through outcome signals (see below).
- No common positive baseline. Pride and joy required rare events (checkpoint completion, explicit user compliment), so the agent had no way to register a routine win. New
emit_satisfaction (one-third pride/joy magnitudes) fires on every clean task completion regardless of source. emit_frustration fires on planning errors and stagnation/max-steps so self-failures still register.
- Live verification (~4h post-fix): anger 390 → 3 (real user corrections only, clustered in one session), joy 0 → 26 (one per clean task completion), PAD pleasure −0.93 → −0.12.
- Live update-check notifier. Background task wakes every 6h while the agent runs, re-polls GitHub for new releases, prints the banner once when a new release appears mid-session.
last_notified persisted in the cache file so the same release doesn't re-banner across restarts. Closes the gap where the v2026.05.09 startup banner only fired on chat startup — daemon-mode agents that run for days now actually notice releases.
Upgrade
git pull && pip install -e .
Full diff
v2026.05.09...v2026.05.09.1