1@README.md 2 3## Notes for agents 4 5- **No logic here.** If a change needs a decision, it belongs in the engine or core; this crate only converts. 6- **Do not name an error field `message`.** Kotlin's `Throwable.message` collides with it and the generated code does not compile; the field is `reason`. 7- **A new exported type is a new mirror**, with a `From` in the direction it travels. The Kotlin names come out UPPER_SNAKE for enum values.