Remove JUnit from production code; add junit test scope in pom
JUnit was imported directly in 19 production classes and used for invariant checking (assertTrue/assertFalse/assertEquals/Assert.fail). This made JUnit a runtime dependency shipped in the fat JAR and caused AssertionError (not IllegalStateException) on invariant violations, with no guarantee the check runs if JUnit is stripped.
- Replace all Assert.* / assertTrue / assertFalse / assertEquals / assertNotNull calls in src/main with explicit if/throw guards (IllegalStateException with the original message preserved)
- Remove all 'import org.junit' and 'import static org.junit.Assert' from production sources (19 files)
- Add test to the junit dependency in pom.xml so it no longer ships in the production JAR
- Move TestSynthesisEquivalence (annotated @test, living in src/main) to src/test where it belongs
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com