Observed
Two BDD step helpers share a name while having different signatures and semantics:
tests/bdd/steps/domain/uc004_delivery.py:2885 — a thin wrapper over TransportResult.assert_wire_error
tests/bdd/steps/domain/uc002_create_media_buy.py:1287 — an outcome-string parser
This is a naming collision, not a duplicated implementation, so it is not a DRY violation. But it defeats grep-based navigation (one grep should find one operation), and the SSOT docstring detector reports it as SSOT-CONTRADICTED, adding noise that can mask real findings in that report.
Work
Rename one of them to reflect what it actually does — e.g. the uc004 one to _assert_wire_error_outcome, or the uc002 one to _assert_outcome_string — and update call sites within the same file. Then confirm the entry clears from the SSOT duplication report.
Priority
Low. This is navigation and tooling-signal hygiene, not correctness. Best done alongside other BDD-step cleanup rather than on its own.
Provenance
Pre-existing — git log -G'def _assert_error_outcome' <merge-base>..HEAD is empty for #1575. Surfaced during that PR's review and out of its scope.
Observed
Two BDD step helpers share a name while having different signatures and semantics:
tests/bdd/steps/domain/uc004_delivery.py:2885— a thin wrapper overTransportResult.assert_wire_errortests/bdd/steps/domain/uc002_create_media_buy.py:1287— an outcome-string parserThis is a naming collision, not a duplicated implementation, so it is not a DRY violation. But it defeats grep-based navigation (one
grepshould find one operation), and the SSOT docstring detector reports it as SSOT-CONTRADICTED, adding noise that can mask real findings in that report.Work
Rename one of them to reflect what it actually does — e.g. the uc004 one to
_assert_wire_error_outcome, or the uc002 one to_assert_outcome_string— and update call sites within the same file. Then confirm the entry clears from the SSOT duplication report.Priority
Low. This is navigation and tooling-signal hygiene, not correctness. Best done alongside other BDD-step cleanup rather than on its own.
Provenance
Pre-existing —
git log -G'def _assert_error_outcome' <merge-base>..HEADis empty for #1575. Surfaced during that PR's review and out of its scope.