Meridian Compatibility Inventory

This project currently targets google-meridian[schema]==1.5.3. The local reference checkout used for compatibility review is:

/home/user/Documents/GITHUB/tandpds/meridian

The 0.4.0 release-candidate environment also constrains protobuf>=5.28.0,<7. Meridian 1.5.3 serialises boolean TensorFlow Probability distribution parameters through an int proto path. Protobuf 7 rejects that path, while the constrained protobuf==6.33.6 line preserves the validated Meridian schema save/load smoke route with deprecation warnings.

Reviewed Reference Files

  • meridian/version.py
  • meridian/data/load.py
  • meridian/model/spec.py
  • meridian/model/context.py
  • meridian/model/model.py
  • meridian/model/posterior_sampler.py

Required Symbols And Contracts

  • meridian.version.__version__ is 1.5.3.
  • protobuf remains below 7 for Meridian schema serialisation.
  • meridian.data.load.CoordToColumns defines the CSV coordinate mapping surface.
  • meridian.data.load.CsvDataLoader is the CSV input loader used by meridian-tools.
  • meridian.model.spec.ModelSpec accepts wrapper-authored kwargs, including holdout_id and calibration/scaling arrays.
  • ModelContext.holdout_id validates national holdout masks as (n_times,) and geo holdout masks as (n_geos, n_times).
  • Meridian.posterior_sampler_callable returns a posterior sampler with the private reconstruction seams required by the log-likelihood adapter.
  • PosteriorMCMCSampler._get_joint_dist_unpinned exists.
  • PosteriorMCMCSampler._prepare_latents_for_reconstruction exists.
  • PosteriorMCMCSampler._reconstruct_posteriors exists.

Upgrade Checklist

Before changing the pinned Meridian dependency:

  1. Compare the reviewed files above against the new Meridian version.
  2. Confirm the private posterior sampler seam methods still exist and preserve compatible behavior.
  3. Run python scripts/verify_release.py.
  4. Run MERIDIAN_TOOLS_ENABLE_REAL_FIT=1 python -m pytest -q -m real_fit.
  5. Recheck the protobuf compatibility bound if Meridian schema serialisation changes upstream.
  6. Update this inventory and release notes with any compatibility changes.