Skip to content

v0.5.0 removal tracker: delete mds::fix::apply_fixes and migrate ADR-004 coverage #304

Description

@dean0x

Context

mds::fix::apply_fixes was deprecated in v0.4.0 (PR #303, issue #209) in favor of apply_fixes_incremental. The deprecated function was never published to crates.io (it was added after v0.3.0) so deletion requires only a MINOR-version bump, not a semver-major. This issue tracks the v0.5.0 removal.

Tasks

  • Delete pub fn apply_fixes from crates/mds-core/src/lint/fix.rs
  • Remove pub use lint::{fix, ...} re-export for apply_fixes from lib.rs (or keep the fix module but just remove the function)
  • Delete F-API-3 from crates/mds-core/tests/api_surface.rs (or convert it to a compile-fail fixture that asserts the function no longer exists)
  • Remove all 10 #[expect(deprecated)] suppressions from fix.rs (lines > 1006) and the 1 in api_surface.rs
  • Add the CHANGELOG ### Removed entry

ADR-004 coverage gap -- must resolve before deletion

The following six tests assert ADR-004 reverify-gate behaviors that are currently pinned only through apply_fixes. They have no equivalent on the apply_fixes_incremental path. Deleting the function without porting or replacing these tests silently removes the only coverage of these behaviors:

Test name Line (at deprecation) Behavior pinned
a4_partial_overlap_still_rejected_after_dedup 1392 A4: partial overlap survives dedup and still rejects
l_fix_rev1_a5_rejection_message_pins_stable_prefix_and_suffix 1681 A5 rejection-message contract: prefix and suffix are stable
reverify_preexisting_untargeted_survives_and_fix_applies 1869 AC-F-23: pre-existing untargeted diagnostic must not block the fix
reverify_new_untargeted_diagnostic_is_rejected 1890 A genuinely new untargeted diagnostic after fix IS a regression
tier_b_unused_function_standalone_apply_succeeds 1957 I-13: end-to-end Tier B with a real reverify closure
l_fix_rev1_output_delta_causes_rejection 2024 L-FIX-REV1: output delta (non-empty diff in reverified source) must reject

Before the v0.5.0 tag, each of these tests must either:

  1. Gain a named counterpart in the apply_fixes_incremental test block (fix.rs ~2071+), or
  2. Be retired with a documented rationale that the behavior is already covered elsewhere.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    rustPull requests that update rust codetech-debtTechnical debt

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions