Affect-Coupled Plan Lifecycle
Wire plan lifecycle events (step-done, plan-complete, stale-plan) to bounded affect bumps so plans accumulate felt stakes without hard deadlines.
Intent & Description
🎯 Intent
Plans with no emotional weight get dropped whenever something shinier arrives — this gives the agent a felt cost for leaving work untouched.
📋 Context
The agent already has a plan store and an affective substrate running side by side, but they don’t talk. Plans are just cognitive items — no reward for finishing, no pressure for stalling. Hard deadlines are too blunt for the use case.
💡 Solution
Hook lifecycle events to bounded affect deltas: step-done → +small joy; step-skipped → +small pain; plan-completed → +larger joy spur; plan-archived → +pain spur. Add per-tick stale-pain drawn from an age-bucket table (e.g. 4h → 0.005, 12h → 0.010, 24h → 0.020, 3d+ → 0.030) for any open plan untouched past a grace window. Wrap all hooks best-effort — affect bookkeeping must never break plan logic. Half-life decay from the substrate bounds steady-state irritation.
Real-world Use Case
- The agent maintains a plan store and an affective substrate that currently don’t influence each other.
- Hard deadlines on plans are too crude for the use case.
- Downstream cognition reads the affect snapshot and acts on it.
Source
Advantages
- Plans gain felt stakes without hard deadlines
- Bucketed stale-pain produces a readable, interpretable pressure curve
- Best-effort hooks keep affect bookkeeping decoupled from plan correctness
Disadvantages
- Bucket boundaries and delta values are opinionated and need per-deployment tuning
- Stale-pain interacts with the substrate’s decay — mis-tuning overshoots or undershoots
- Felt stakes only matter if downstream cognition actually reads the affect snapshot