e92fd2d5a4399e9483bbca48d9b0f93bbf9cc83a
Two awareness loop bugs fixed: 1. Seed rotation never worked: dist/awareness.c was compiled from stale source (pre-fix awareness.el still had broken ts_minutes % 4). Compiled C showed `minute_block = (ts / 60000); EL_NULL; 4;` — minute_block was always ts_minutes (millions), never 0-3. if(minute_block==1/2/3) never matched. Fix: recompile from current awareness.el which has the correct modulo workaround: ts_minutes - minute_q4 (via + - / only). 2. Heartbeat/curiosity silent for 24h at 99% CPU: old design used idle-tick counting (idle_n >= beat_interval). Failed when perceive() inbox guard false-positives on "soul-inbox" substring matches in knowledge nodes — did_work=true every tick, idle_n never accumulated, neither signal fired. Fix: wall-clock elapsed time (time_now() - last_ts >= interval_ms). Heartbeat fires regardless of load. New SOUL_HEARTBEAT_MS env var (default 60000ms) avoids the broken EL * operator. Verified: heartbeat ISEs flowing at pulse 3 within 2 minutes of restart.
Description
Neuron - the canonical CGI substrate. Real soul.el lives here.
14 MiB
Languages
Emacs Lisp
89.1%
Python
4.8%
Shell
2.5%
HTML
1.9%
Dockerfile
1.7%