v3.6.166
Fix duplicate Contributor health issues caused by API failure in _get_runner_role (t1929)
- Added 4-layer role resolution: env cache → repos.json maintainer → disk cache → API
- Stale disk cache used on API failure instead of defaulting to contributor
- Automatic cleanup of opposite-role duplicate health issues on each pulse cycle
- PR #17813