Read before rewriting.
Understand the original system, its dependencies, and the constraints of operating it.
Make behavior explicit.
Treat interfaces, error handling, data formats, and failure modes as part of the contract.
Leave maintainable software.
Favor clear Rust interfaces, useful tests, and operational documentation.
Let evidence make the case.
Performance claims need baselines, reproducible methods, and stated limitations.