# The error `part.inside` **user**: the script can change it: the error says what happened in the experiment's names, and what to write instead. **On the refusal list: no test names this code**, since no file under `tests/` names it. A test may still raise it without naming it, and none asserts it: what its message and action say is read from the source below. The hook that records which codes a test raises has not landed, so until it does the list says names and never raises. The list (`docs/ratchets/refusal_codes.txt`) only shrinks. Where MIME gives it, with what its message says happened and what its action says to do (`{…}` is filled in from the experiment): - in `mime/build/_plan.py`: - what happened: `body {…}'s part {…} lies inside {…}, which is not another part of the body that lies inside none` - what to do: `name in inside= a part that lies inside none. {…}` - in `mime/build/_plan.py`: - what happened: `{…}: inside={…} is not a part's name` - what to do: `name in inside= the part it lies inside: Part(..., inside="shell")` Reading an error and reaching its full traceback: [reading an error](../reading_errors.md). Every code: [the index](index.md).