Skip to content

fix: read the source system through QuestBase.source - #513

Merged
oameye merged 2 commits into
masterfrom
source-compat
Jul 26, 2026
Merged

oameye merged 2 commits into
masterfrom
source-compat

Conversation

@oameye

@oameye oameye commented Jul 26, 2026

Copy link
Copy Markdown
Member

Description

QuestBase 0.5 replaced HarmonicEquation's natural_equation::DifferentialEquation field with source_equations::T on a new type parameter, so that harmonic equations are no longer assumed to come from a second order DifferentialEquation in the lab frame. fourier_transform! was the one place in this package reaching for the old field:

collect(keys(eom.natural_equation.equations))   # before
collect(keys(QuestBase.source(eom).equations))  # after

Everything else here already goes through the constructors rather than the fields, so no other change was needed.

Compat bounds move to the releases that carry the source accessors: QuestBase = "0.5" and HarmonicSteadyState = "0.6".

Related issues or PRs

Part of a coordinated change across three packages:

This one is not optional. HarmonicBalance is in HarmonicSteadyState's test target, so its test suite cannot load until this lands.

Additional context

Breaking, so this releases as 0.18.0. Anything reading natural_equation off an equation built here has to move to QuestBase.source too, and a patch release would have been auto-resolved by already-released versions pinned to QuestBase = "0.4.1".

Tested locally against the two branches above with [sources] overrides: full suite green.

oameye added 2 commits July 26, 2026 20:44
QuestBase 0.5 replaced `HarmonicEquation`'s `natural_equation` field with
`source_equations` on a type parameter, so that harmonic equations are no
longer assumed to come from a second order `DifferentialEquation`.
`fourier_transform!` was the one place reaching for the old field.

Bumps the QuestBase and HarmonicSteadyState bounds to the releases carrying
the source accessors. Breaking, since anything reading `natural_equation` off
an equation built here has to move to `QuestBase.source` as well.
The benchmark environment pins its own copies of the QuestBase and
HarmonicSteadyState bounds, and they still named the pre-source releases. That
conflicted with the package's own bounds, so the benchmark job failed to
resolve HarmonicSteadyState with "restricted to versions 0.5 by project" while
HarmonicBalance asked for 0.6.
@oameye
oameye merged commit 7f9c72d into master Jul 26, 2026
9 checks passed
@oameye
oameye deleted the source-compat branch July 26, 2026 23:08
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.

1 participant