# V18 Reinforcement Signal Taxonomy

## Three Staleness Reset Triggers

| Trigger | Reset Magnitude | Rationale |
|---------|----------------|----------|
| Direct re-observation | Full (staleness→0) | Sensory input matches atom — strongest evidence of continued relevance |
| Successful inference USE | Partial (staleness *= 0.5) | Atom participated in derivation producing useful result — indirect relevance |
| Explicit user confirmation | Full (staleness→0) | External authority validates atom — equivalent to re-observation |

## Design Rationale: Partial vs Full Reset
- Full reset on re-observation: atom is DIRECTLY confirmed by environment
- Partial reset on inference use: atom was INDIRECTLY useful, but the inference chain may be wrong
- Full reset on user confirmation: treated as authoritative re-observation
- NO reset on mere retrieval: reading an atom without using it does not refresh it

## Formula Update
staleness(atom, t) = t - last_reinforced(atom)
On trigger: last_reinforced(atom) = t_now (full) or staleness *= decay_factor (partial)
g_eff = g * exp(-lambda * staleness)

## Integration with v16-v17
- v16: g_eff in transport equation
- v17: per-atom last_reinforced metadata + mutation pipeline
- v18: defines WHEN last_reinforced gets updated

## Key Constraint
Reinforcement must be EARNED not automatic — mere attention (STI boost) does NOT reset staleness.
Only evidence-bearing events reset the clock.
