# V17 Staleness Metadata Schema (MVP)

## Per-Atom Staleness Tracking
```metta
; Metadata predicate: (last-reinforced <atom-key> <timestamp>)
(last-reinforced hypothesis_X 100)
(last-reinforced edge_AB 95)

; Staleness = current_time - last_reinforced
(= (staleness $key $now) (- $now (last-reinforced-time $key)))

; Discount function: conf_eff = conf * exp(-lambda * staleness)
(= (discount-conf $conf $staleness $lambda)
   (* $conf (exp (* -1.0 (* $lambda $staleness)))))

; Effective conductance with decay
(= (g-eff $edge $now $lambda)
   (* (conductance $edge)
      (exp (* -1.0 (* $lambda (staleness (target $edge) $now))))))
```

## Mutation Pipeline (from v8 remove+add pattern)
1. On reinforcement: remove old (last-reinforced key old_t), add (last-reinforced key new_t)
2. On query: compute staleness = now - last_reinforced
3. On transport: g_eff = g * exp(-lambda * staleness)

## MVP Scope
- Per-ATOM staleness (not per-edge)
- Single lambda parameter (tune later)
- Integrates with v16 transport equation
- Per-EDGE upgrade path: replace staleness(target) with staleness(edge_ij)

## Validated By
- v14a: revision cannot reduce conf (monotonic rise proof)
- v15: pre-inference discounting drops conf 41%
- v16: decay lives in conductance term of transport equation
