Skip to content

Phase 4 — Cutover: make joint-descent the default #6

Description

@k1sauce

Part of #1. Depends on #5.

Scope

Once chr22 MAPQ ≥99% via the full-descent path, promote it to default. The current independent-then-rescue path becomes the legacy fallback.

Deliverables

  • Flip default: `Cli::joint_descent: bool` defaults to `true`. Add `--legacy-paired` opt-out flag.
  • Remove or hide the env-var tuning knobs (`RUSTTIE_MAX_RESCUE`, etc.) — settled defaults baked in.
  • Update `README.md` validation table with new MAPQ numbers (target 99%+).
  • Update the "Known MAPQ gap" section in `README.md` — either delete it (gap closed) or document the remaining minor cases.
  • Add a regression test in `crates/rusttie-cli/tests/` that asserts MAPQ agreement floor on the lambda-virus mini-corpus (CI gate).
  • Cleanup: remove the bounded-Cartesian Cartesian fallback in `classify_pair_set` if no longer reachable.

Exit criterion

  • New default produces ≥99% MAPQ on chr22 in CI.
  • Default-path wall time within 2× of current baseline.
  • All existing tests pass.

Risks

  • Making joint-descent the default changes wall time (~3× of current baseline). Some users may prefer the faster legacy path; `--legacy-paired` keeps that available.
  • The legacy path becomes dead-but-not-dead code. Need clear deprecation messaging.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions