# Next Session: Fix Annie Startup Spam

## What

Every time services restart, Annie sends Rajesh a barrage of nonsensical messages via Telegram — "gentle nudges", repeated names (Kyle), Jupiter references, stale context. This feels robotic and disrespectful of Rajesh's time.

## Why This Matters

This is the #1 anti-pattern for a personal AI: **unsolicited noise on startup**. A human friend doesn't text you random thoughts every time they wake up. Annie should be silent on restart until she has something meaningful to say.

## Symptoms

1. Proactive agents fire immediately on startup before fresh context loads
2. Stale conversation fragments get picked up → incoherent output
3. Scheduler agents (nudge, wonder, comic) may trigger simultaneously
4. Messages reference people/topics from old conversations

## Likely Root Causes

1. **`proactive_pulse.py`** — triage fires on first scheduler tick with stale ambient context
2. **`agent_scheduler.py`** — cron agents trigger immediately if their schedule time has passed
3. **No startup grace period** — no cooldown between service start and first proactive action
4. **Context sources return stale data** — `fetch_recent_ambient()` picks up old JSONL

## Proposed Fix

1. Add a `STARTUP_GRACE_PERIOD_S = 300` (5 min) — suppress all proactive actions for 5 min after server start
2. Clear proactive cooldown state on startup (fresh start, don't inherit stale state)
3. Add a `last_restart_at` timestamp — proactive agents check this before firing
4. Consider: should scheduled agents (wonder, nudge, comic) have a startup delay too?

## Start Command

```
Read this doc, then investigate:
1. grep for scheduler.trigger/fire/schedule in server.py startup
2. Check proactive_pulse.py for any startup hooks
3. Check agent_scheduler.py for how cron timing works on restart
4. Implement STARTUP_GRACE_PERIOD_S
```
