Overall problem: Engineers are pushing code that fails unit tests or does not build
When unit tests fail or contain a explanation, we want to gate or prevent arc land from committing to a remote repository. Also, if the build has failed (as an example, a failed message received from the CI server), then developers should not be able to land changes.
Given the above restrictions, if a developer really want to land changes they can force and provide an explanation.