text
| 1 | # Python review pass |
| 2 | |
| 3 | ## Failures |
| 4 | |
| 5 | - [ ] Any bare `except` or `except Exception` that continues? |
| 6 | - [ ] Any exception caught and dropped without a reason? |
| 7 | - [ ] Is the cause chained on every re-raise? |
| 8 | - [ ] Can a caller tell "no result" from "lookup failed"? |
| 9 | |
| 10 | ## Traps |
| 11 | |
| 12 | - [ ] Any mutable default argument? |
| 13 | - [ ] Any collection mutated while iterated? |
| 14 | - [ ] Is every opened resource closed by a `with`? |
| 15 | - [ ] Any truthiness check where zero or empty is a valid value? |
| 16 | |
| 17 | ## Types |
| 18 | |
| 19 | - [ ] Do the hints admit `None` everywhere it can occur? |
| 20 | - [ ] Any dict with a fixed known shape that should be a dataclass? |
| 21 | |
| 22 | ## Dependencies |
| 23 | |
| 24 | - [ ] Anything added that the standard library already does? |
| 25 | - [ ] Anything added for a single function? |
| 26 | |
| 27 | ## Tests |
| 28 | |
| 29 | - [ ] Does a new test fail if the change is reverted? |
| 30 | - [ ] Is the raising path covered, not only the happy path? |
| 31 |