These rules define recommended usage for AI-assisted development with this package.
- Use
Jido.Evolve.run/1for final results andevolve/1for progress. - Prefer explicit fitness modules with deterministic behavior for repeatable runs.
- Provide a random seed in config for reproducible test scenarios.
- Register callback-owned external work with
Jido.Evolve.Cleanup.register/1. A worker'safterblock cannot clean resources after a forced stop. Follow the cleanup contract inguides/getting-started.mdand use a finite cleanup budget.
- Treat fitness functions as untrusted runtime code; always handle
{:error, reason}returns. - Keep mutation and selection strategies side-effect free.
- Validate user input through public constructors and options parsers.
- Public modules/functions should include docs and examples.
- Internal plumbing may use
@moduledoc falseand@doc falsewhen intentionally private.
- Do not publish unless
mix quality,mix coveralls, andmix docsall pass. - Do not edit
CHANGELOG.md; release notes are generated from Git history.