LLM-powered rewrites and huge refactors are better done using 1 additional step "convert the code to <something> that represents it best".
The simplest example is, for a CRUD app it can be swagger description. The more complex behaviour exhibit the app, the more raw information should be provided.
Like ontologies, "A is a child of B" model can derive and enforce that "B is a parent of A", and so on.
On top of that, I write that Fable is reasonably cheap if one uses it solely for agent orchestration.
1. Extract the data representation
Ask the LLM to represent your code as any combination of:
graphs
ontologies
hierarchical state machines
UML process charts
constraints
math formulae
2 Operate on the representations3 Convert representations back to code
My gut feeling is this is doing way too much, and it would've figured it out.
The whole point of this experiment was to try and make the rewrite as cheap as possible.
To be fair, I haven't try exactly "rewrite in Rust" prompt, but I cannot imagine for this to work.
Giving the benefit of doubt, we all might be writing a bit like claude nowadays.
If that is the case, I'd recommend reviewing the content before publishing to see if it sounds like a LLM.
Or if you are trying to create "better" AI slop and think that is enough to say the text is human-written, don't do that, just say it was AI-generated or assisted.
Probably I need some fresh air and a good fiction book.