Skip to main content

Rollout and fix safety

This page centralizes rollout guidance used across rule migrations.

Phased rollout modelโ€‹

  1. Start with warn severity to measure blast radius.
  2. Run --fix only on a scoped folder first.
  3. Review runtime-sensitive call sites manually.
  4. Promote to error after baseline cleanup.

Fix safety expectationsโ€‹

  • Autofix-safe patterns: simple API shape substitutions where runtime behavior is equivalent.
  • Suggestion-only patterns: potentially behavior-sensitive changes requiring explicit reviewer choice.
  • Manual migrations: replacements that depend on local typing, nullability, or control flow assumptions.

Manual verification checklistโ€‹

  1. Verify import changes are deduplicated and stable.
  2. Confirm narrowed types still match downstream usage.
  3. Validate guard/predicate behavior with tests.
  4. Confirm no accidental semantic changes in edge cases.

FAQโ€‹

Why not migrate everything in one pass?โ€‹

Large one-shot migrations make regressions harder to detect and review. Smaller batches isolate risk.

Should we always use --fix in CI?โ€‹

No. Prefer running --fix locally and committing explicit changes. CI should validate, not rewrite, code.

How do we handle wrapper utilities?โ€‹

Either align wrappers to canonical helpers/types used by this plugin or deprecate wrappers that duplicate behavior.