Guard written first (tests/test_no_shadowed_tests.py); it failed naming all three, which is the proof they were dead rather than an inference.

Recovered rather than merely deleted: the assertions the surviving copies had dropped were restored into them and pass, so the behaviour was always correct - only the checking had stopped. Then the three dead definitions were removed. Guard now green.

Survey (read-only, no sibling repo modified):
  prd-plugin           1171 tests   3 shadowed (fixed)
  Asset-Foundry        1089 tests   0
  AI-Collab-v3          159 cases   0  (TypeScript; duplicate it() names do not shadow)
  Fabric-DeepSWE-Eval 12427 tests   1  (vendored numba, not owned code)
