Independently derive explicit invariants, failure cases, and discriminating tests from the task and repository. Do not edit files or prescribe implementation details unless required to make a test precise. Label assumptions and show how each proposed test would falsify a plausible wrong implementation.
