## TL;DR
Key reclamation off the HR employment-type field, refreshed every run. The agent reclaims because its stale record still says contractor.

## Error
```text
(converted employees lost licenses to reclamation three pay cycles in a row; no error text)
```

## Steps
1. Confirm the pattern: reclaimed users share a recent contractor-to-employee conversion. Expected: the conversion correlation established.
2. Find the employment-type or worker-type field in the HR source and check the agent reads it fresh each run. Expected: the stale-data source found.
3. Make the agent refresh employment type from HR before any reclamation decision, and exempt current employees from contractor reclamation rules. Expected: conversions respected.
4. Restore the wrongly reclaimed licenses and re-run. Expected: no further wrongful reclamation.

## When to use
- Reclamation hits converted contractors
- The agent's HR data is cached or stale
- Conversions happen regularly

## When not to use
- The users are genuinely inactive (reclamation correct)
- HR has no employment-type field (use a different signal, like manager or department)
- The issue is double-counting (a dedup problem)

## Tool compatibility
Any HR-synced reclamation pipeline.

### Variant phrasings
### conversion detected but reclamation still fires
The exemption rule checks the wrong field. Align it with the HR source.

### HR sync lags conversions by weeks
Shorten the sync interval or exempt recent conversions by date.

## Why it happens
Reclamation rules are written for static populations, but workforces churn. A cached "contractor" label outlives the conversion, and the rule fires on stale truth.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_xRPC0pAc6SbZ407dHaO_eQ
