| Algorithm 2: Inner-Loop Minimum-Perturbation Channel Remapping |
| Input: Active schedule S, affected link e, current channel c0, candidate set A(e), activation lead time delta_ASN Output: Updated schedule S or ESCALATE 1: Estimate p_hat(e,c) and interference I(e,c) for all c in A(e) 2: F <- { c in A(e) : c is conflict-free at e’s fixed slot and p_hat(e,c) >= rho_e_min } 3: if F is empty then return ESCALATE 4: c* <- argmin_{c in F} [ interference(e,c) + updateCost(c0,c) − xi * p_hat(e,c) ] 5: Send incremental update (link ID, retained slot offset, new channel offset c*, activation ASN) 6: Verify acknowledgement or deterministic dissemination completion before activation ASN 7: Atomically switch e to c* at the activation ASN 8: Monitor for K epochs; if contract remains violated then return ESCALATE 9: return S with c0 replaced by c* |