Skip to content

fix: allow --coalescent to seed --coalescent-opt - #863

Closed
ivan-aksamentov wants to merge 1 commit into
rustfrom
fix/timetree-coalescent-opt-seed-reachable
Closed

fix: allow --coalescent to seed --coalescent-opt#863
ivan-aksamentov wants to merge 1 commit into
rustfrom
fix/timetree-coalescent-opt-seed-reachable

Conversation

@ivan-aksamentov

Copy link
Copy Markdown
Member

fix/timetree-coalescent-opt-seed-reachable -> rust

--coalescent-opt declared conflicts_with = "coalescent", so the two flags could not be supplied together. The documented CoalescentMode::Constant { seed } fallback for a failed analytic optimization (the previous round's $T_c$, then the user-supplied --coalescent, then no prior) was therefore unreachable from the CLI, and a unit case even constructed a seeded state the CLI could not produce.

This drops that conflict so --coalescent seeds the optimizer's failure fallback [src].

Making the fallback reachable is preferable to deleting the seed field: on a degenerate tree, recovery to a user-supplied timescale is desirable, and it is already documented behavior.

Work items

  • Remove conflicts_with = "coalescent" from --coalescent-opt [src]

--coalescent-opt declared conflicts_with = "coalescent", so the documented CoalescentMode::Constant { seed } fallback (previous Tc, then the user-supplied --coalescent, then no prior) was unreachable from the CLI. Drop that conflict; the two flags may now be combined and the value seeds the fallback used when the analytic optimization fails.
@rneher

rneher commented Jul 23, 2026

Copy link
Copy Markdown
Member

This was intentional, as I think we don't need the fall back. of $M \log(T_c) - I/T_c$ doesn't have minimum, we should probably error.

@ivan-aksamentov
ivan-aksamentov deleted the fix/timetree-coalescent-opt-seed-reachable branch July 24, 2026 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants