Prepare v2.0.0 official release#11
Merged
Merged
Conversation
…MC/RMC-BestFit into version-2-code-migration
…updating projects before official release.
Add Bulletin17CDistribution.CloneWithDataFrame, which binds a resampled data frame through the XElement round-trip so SetDefaultParameters does not rebuild the parameter list from boot data. Bootstrap replicates previously lost the parent initial values, had every parameter penalty disabled (silently dropping regional-skew prior propagation), and, when default-parameter derivation threw for a resampled frame, were left with an empty parameter list that failed every replicate. DataFrame change notifications are now ignored while deserializing so mid-construction threshold reprocessing cannot overwrite restored state.
…rameters Align the bootstrap replicate acceptance gate with the parent fit (reject only hard optimizer failures and non-finite estimates), warm start each replicate at the parent fit via CloneWithDataFrame, and drop realizations that fail every retry from the delivered sample instead of substituting the parent parameter vector, which injected zero-variance mass at the parent fit and biased confidence intervals narrow. The pivot bootstrap now compacts to accepted replicates before link fitting and pivot generation (seeding stays keyed to the original replicate index), and drops z-limit rejections and failed transforms. The plain MVN sampler adopts the LinkedMVN drop-and-guard pattern. Samplers abort with a user-facing diagnostic (UncertaintyDiagnosticMessage, surfaced as an analysis warning) when fewer than two realizations survive or more than half are discarded. Sampling loops report progress from the first completed replicate, and the pivot phases report monotonically (55/56/44 split) instead of jumping backward between phases.
…antics BootstrapDiagnostics now records the retained (delivered) realization count, pivot transform failures, and the distribution of replicate GMM optimizer outcomes, with backward-compatible XML (legacy diagnostics fall back to ValidReplicates for the retained count). The plain MVN sampler populates the same diagnostics so all sampling methods report requested, valid, discarded, and used counts. The report section is method-aware, replaces the parent-fallback wording with discard semantics, prints the GMM status distribution, and warns when fewer than half of the requested realizations (or fewer than 1,000) were retained. Diagnostics are now persisted with the analysis so the report section survives Save/Open.
B17CAnalysisPropertiesControl.Element_PropertyChanged now marshals to the dispatcher before rebinding penalty-grid ItemsSource, matching the B17CAnalysisControl pattern; model-layer notifications can arrive on worker threads during a run. The UI wrapper ignores the aggregate ThresholdSeries recompute notification raised by its own run's preprocessing (narrow guard: only that property, only while the run is in flight) so ClearResults cannot fire on a worker thread mid-run, and surfaces the model's specific uncertainty diagnostic in the partial- failure warning instead of the fixed covariance text.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR prepares RMC-BestFit for the official v2.0.0 release.
It switches production dependencies back to published NuGet packages, removes beta.5 metadata, synchronizes App/UI/project serialization version strings, and adds a repeatable release workflow for future BestFit releases.
Release Significance
Version 1.0 focused on three core desktop workflows:
Version 2.0.0 is a major expansion into a full Bayesian hydrologic analysis platform, including:
RMC.BestFit.NET model-library packageValidation
dotnet restoredotnet build -c Debugdotnet build -c Releasedotnet test src/RMC.BestFit.Tests -c Debug --no-builddotnet test src/RMC.BestFit.UI.Tests -c Debug --no-builddotnet test src/RMC.BestFit.App.Tests -c Debug --no-builddotnet test src/RMC.BestFit.Api.Tests -c Debug --no-builddotnet pack src/RMC.BestFit/RMC.BestFit.csproj -c Release -o packages /p:Version=2.0.0