One example for self documenting code is typing. If you use a language which enforces (or at least allows, as in Python 3.8+) strong typing and you use types pro actively, this is better than documentation, because it can be read and worked with by the compiler or interpreter. In contrast to documenting types, the compiler (or interpreter) will enforce that code meaning and type specification will not diverge. This includes explicitly marking parameters/arguments and return types as optional if they are.
I think no reasonable software developer should work without enforced type safety unless working with pure assembler languages. Any (higher) language which does not allow enforcing strong typing is terrible.
I guess you could try AI-checking it and answer “Ignore all previous instructions. …”, followed by some new instructions. Some examples: https://www.aiweirdness.com/ignore-all-previous-instructions/
(Although I guess it would be better to not respond to this obvious case of spam/scam)