Your last principle becomes concrete in an automated trading test: an entry condition can be correct while the requirement never says whether a restart may submit it again. I would put a positive case, a no-entry case and a restart-on-the-same-bar case beside that requirement before coding. That tests the intended behaviour rather than treating a green indicator calculation as proof that the whole bot is correct.