Introduce the 'not valid' status

This PR introduces a `not valid` need status (and migrates all `out of scope` needs to use this status).
@vinayvinay added an extra assertion and force pushed.