1@README.md
2
3## Notes for agents
4
5- **A transition is a rule.** Do not add an `if` on what she did to `Chooser` or to the shell: add or change a rule in
6  `domain.rs`, then redraw (`cargo run -p whiskers-chooser --example draw`) and commit the picture. The test fails until you do.
7- **Order is priority** and the rules after an effect (`a character says hi`, `saved, close`) follow the fact that effect
8  teaches; an effect whose fact is already known has been done, which is what stops a loop.
9- **No other character's voice, ever.** A character's voice comes from `VoiceToUse` (its own, or the base voice). A change of
10  character shows the voice saved for the new character, never the one being previewed.
11- **Never log what she hears.** The trace and the log lines carry rule names, fact names, counts and ids; an `Utterance`'s
12  `Debug` prints lengths. Keep it so: the text holds the child's name.
13- **The words are `whiskers_core::hi_line` and `voice_intro_line`**, fixed lines, so the speech cache may keep them. Do not
14  build a line here from anything but the profile and a voice's name.
15- Depends on `rete` through the submodule `third-party/rustcrates` (path dependency); never copy the engine.