Indeed, by definition of g, we have [g p ] i ≥ 0 if constraint i is satisfied at iteration p: the projection on R + ensure that [u p+1 ] i stays at 0.
6 we do not need to know constraints that have not been violated yet in order to correctly update the Lagrangian multipliers: this is the main intuition behind the NDRC method.