Part of #315 (cross-version deserialization, RFC 0002).
When stochtree_version is absent from a JSON, infer the version bracket from the fields that are present. A shared helper (_infer_json_version() in Python, a utility function in R/utils.R) should return a human-readable string like "<0.4.1" for use in warnings.
| Field absent |
Inferred serialized before |
covariate_preprocessor / preprocessor_metadata |
~v0.3.0 |
rfx_model_spec |
~v0.3.0 |
internal_propensity_model |
~v0.3.2 |
multivariate_treatment (Python BCF) |
~v0.4.0 |
has_rfx_basis / num_rfx_basis |
~v0.4.0 |
outcome / link in outcome_model |
~v0.4.1 |
sample_tau_0 / tau_0_samples |
v0.4.1-dev |
The inferred version is used only for warning messages — not to gate deserialization behavior (that is handled by per-field defaults in #318 and #319).