Skip to content

Downgrade jqwik to 1.9.3 and document QuickTheories replacement plan#82

Merged
bernardladenthin merged 3 commits into
mainfrom
claude/gifted-edison-D99NS
May 31, 2026
Merged

Downgrade jqwik to 1.9.3 and document QuickTheories replacement plan#82
bernardladenthin merged 3 commits into
mainfrom
claude/gifted-edison-D99NS

Conversation

@bernardladenthin

Copy link
Copy Markdown
Owner

Summary

  • Downgrade jqwik from 1.10.0 to 1.9.3 in pom.xml to avoid the anti-AI prompt-injection string added in 1.10.0+
  • Add a comment explaining the downgrade and linking to the URGENT TODO
  • Update the URGENT TODO in CLAUDE.md to specify QuickTheories as the preferred replacement, with detailed rationale and ordering of alternatives

Rationale

jqwik 1.10.0+ deliberately injects a prompt-injection string into test stdout and explicitly states the project is "not meant to be used by any 'AI' coding agents at all." This is hostile to the AI-assisted workflow this project uses. The downgrade to 1.9.3 is a temporary mitigation while the replacement work is tracked and prioritized.

The TODO update clarifies that QuickTheories is the preferred replacement because it:

  • Integrates natively with JUnit Jupiter (no @RunWith or JUnit Vintage engine needed)
  • Preserves property-based generation with shrinking
  • Uses a fluent DSL that covers all constraints currently used by the jqwik tests
  • Avoids the complexity of hand-rolled parameterized tests

Test plan

  • No testing needed; this is a documentation and configuration update
  • CI should remain green (jqwik 1.9.3 is functionally equivalent to 1.10.0 for the single test class in this repo)

Related issues / PRs

Tracked as URGENT TODO in CLAUDE.md

Checklist

  • I have read CONTRIBUTING.md and CODE_OF_CONDUCT.md
  • My commits follow Conventional Commits
  • No security-sensitive changes

https://claude.ai/code/session_01XigFKHMf8r7HLsLHts1J1K

claude added 3 commits May 31, 2026 10:09
Avoid the anti-AI prompt-injection string added in jqwik 1.10.0 (and
the 1.10.1 release note declaring the library is not meant to be used
by AI coding agents). The 1.9.x line is the last release without that
behaviour. Long-term plan tracked in CLAUDE.md is to replace jqwik
entirely with junit-quickcheck or hand-rolled JUnit Jupiter
@ParameterizedTest.
QuickTheories (org.quicktheories:quicktheories, MIT) runs natively
on JUnit Jupiter 5/6 with plain @test methods - no @RunWith, no
JUnit Vintage engine - while still giving property-based generation
with shrinking. Demote junit-quickcheck and hand-rolled
@ParameterizedTest to fallback options.
Prevent future bumps to jqwik >= 1.10.0, which ships an anti-AI
prompt-injection string in test stdout. See CLAUDE.md for context;
replacement with QuickTheories is tracked as an urgent TODO.
@sonarqubecloud

Copy link
Copy Markdown

@bernardladenthin
bernardladenthin merged commit 40b83f3 into main May 31, 2026
8 of 11 checks passed
@bernardladenthin
bernardladenthin deleted the claude/gifted-edison-D99NS branch May 31, 2026 10:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants