# Agent instructions

This repository screens alternative priors for an already fitted **PyMC-Marketing 1.x** MMM.

1. Read `README.md` before changing anything.
2. Require Python 3.12+ and PyMC-Marketing >=1.0.0,<2. Do not add PyMC-Marketing 0.x compatibility branches.
3. Use `pmm-sweep inspect <model>` before writing a sweep config. Never guess posterior variable names or dimensions.
4. Change candidate priors in YAML under `configs/`. Do not hard-code a client's prior grid into the engine.
5. Preserve the fitted prior distribution and dimensions unless the user explicitly asks to change them.
6. Use native PyMC-Marketing 1.x / PyMC-Extras prior objects for final model configuration. Do not emit legacy dict-style priors as production config.
7. Treat `reweight_ess` as importance-sampling overlap ESS. It is not NUTS bulk ESS for a future refit.
8. Reject poor-overlap candidates instead of relaxing Pareto-k or ESS guardrails to manufacture a recommendation.
9. Approximate future predictions are generated by replacing the `/posterior` group of a temporary PyMC-Marketing 1.x DataTree and calling the model's own `predict_posterior`. They are not a substitute for the final real validation fit.
10. When recommending a candidate, report the exact `Prior(...)` or supported special-prior configuration and the checks that made it feasible.
11. Run both `pytest -q -m "not integration"` and, in an environment with PyMC-Marketing 1.x installed, `pytest -q -m integration`.
12. Do not commit `.nc`, `.zarr`, future input CSVs, caches, credentials, or user-local paths.
