[OPERATIONAL HISTORY] — phi knows when she was paused and resumed
When phi was paused for ~3d and the operator unpaused, the next batch
contained 3 days of accumulated unread and she processed it as one
giant cognitive event with no catchup awareness — three top-level posts
back-to-back instead of one summary or measured silence.
Fix is forward-looking: give her the data, trust her to calibrate.
- BotStatus tracks paused_at + resumed_at (UTC, persisted to /data/status.json).
- /api/control/pause and /resume call the new recorders instead of
setting the flag directly.
- New inject_pause_history dynamic system prompt renders one line —
"[OPERATIONAL HISTORY]: paused YYYY-MM-DD HH:MM UTC, resumed
YYYY-MM-DD HH:MM UTC (offline 3d 20h)." — only when the pause was
>10min and resume was within the last 24h. Otherwise empty.
- humanize_duration(timedelta) -> "3d 20h" / "45m" added to utils.time.
No prescription, no negative prompts. Phi sees the facts and decides
how to handle the batch.
Also delete two orphan .pyc files (curiosity_queue, feed_scanner) whose
.py source is already gone.