The things that are load bearing, assumed throughout the system. If they're critical for correctness add `assert`s or equivalent for [[Programming Languages|Programming Language]] of choice where these invariants are upheld. I've personally seen many engineers, and AI tools, go overboard with testing. Tests are one way of validating assumptions, but when you have too much they quickly hamper forward progress on a system and become stale or irrelevant. Agentic coding tools can help shuffle them along by updating them automatically, but at that point it may indicate the test is irrelevant.