rust-java-migration-testing

Installation
SKILL.md

Java-to-Rust Migration Testing

Prove observable compatibility and Rust safety properties, not test volume. Treat the complete source test suite as a non-negotiable compatibility floor: migrate 100% of its test cases without weakening inputs or assertions, copy every test fixture/data/script byte-for-byte into the target repository, and make both implementations produce the same per-case observable result. Build three explicit test ledgers in this order:

Mandatory verification structure

  • Require exact Java/Rust path parity; every MISPLACED or missing file-map.csv target blocks completion.
  • Treat E0583/E0761/E0405/E0425/E0659 and broken fixture paths as structural failures after file moves.
  • Treat up to 500 physical lines as normal, review authored .rs files from 501–800 lines for cohesion, and block files above 800 lines; split suites by contract or behavior family rather than arbitrary ranges.
  • Allow focused unit tests in #[cfg(test)] modules beside their implementation. Put public-boundary, cross-module, differential, host, load, and whole-project tests in tests/ or a non-published test/testkit crate.
  • Run path audit, fmt, default/all-feature check, Clippy, complete tests, golden/live differential, migration audit, and the project coverage gate without using any one result as parity proof.

Read Directory parity verification and Migration verification SOP.

Installs
86
GitHub Stars
12
First Seen
Jul 29, 2026