refactor(rpiv-pi): share one settle-and-emit epilogue across lane teardown paths
Extract settleAndEmitCleared - the ordering-contract epilogue (capture parked units before the settle, resolve every parked resolver with undefined, run the site mutation, notify, then emit `cleared` for only the units that had parked input) - out of the four teardown sites that each spelled it inline: recordRun reactivation, retireRun, evictRun, and clearUnitLanes. Pin the ordering with tests: notify precedes `cleared` per path, a fresh recordRun notifies without emitting, and an empty clearUnitLanes does neither.
S
Sergii committed
da1264d6da1fe2edd33cbffdf6ff15f733047aeb
Parent: c684177