pub fn plan_thread_refresh(options: &ThreadRefreshOptions) -> ThreadRefreshPlanExpand description
Pure preflight for refresh checkout selection and no-op / refusal gates.
Rules (matching CLI refresh_thread):
- No target → missing target
- Freshness current → already current
- Empty execution path + current lane → proceed on caller repo
- Empty execution path + not current → requires current checkout
- Non-empty execution path → proceed on that path