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
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:
- Gain a named counterpart in the
apply_fixes_incremental test block (fix.rs ~2071+), or
- Be retired with a documented rationale that the behavior is already covered elsewhere.
References
Context
mds::fix::apply_fixeswas deprecated in v0.4.0 (PR #303, issue #209) in favor ofapply_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
pub fn apply_fixesfromcrates/mds-core/src/lint/fix.rspub use lint::{fix, ...}re-export forapply_fixesfromlib.rs(or keep thefixmodule but just remove the function)F-API-3fromcrates/mds-core/tests/api_surface.rs(or convert it to a compile-fail fixture that asserts the function no longer exists)#[expect(deprecated)]suppressions fromfix.rs(lines > 1006) and the 1 inapi_surface.rs### RemovedentryADR-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 theapply_fixes_incrementalpath. Deleting the function without porting or replacing these tests silently removes the only coverage of these behaviors:a4_partial_overlap_still_rejected_after_dedupl_fix_rev1_a5_rejection_message_pins_stable_prefix_and_suffixreverify_preexisting_untargeted_survives_and_fix_appliesreverify_new_untargeted_diagnostic_is_rejectedtier_b_unused_function_standalone_apply_succeedsl_fix_rev1_output_delta_causes_rejectionBefore the v0.5.0 tag, each of these tests must either:
apply_fixes_incrementaltest block (fix.rs ~2071+), orReferences
apply_fixesfrom publicmds-coreAPI and schedule removal — 0 callers sinceapply_fixes_incrementalshipped #209.devflow/learning/decisions.md