Reconciliation via Poisson Sampling

Your first model shouldn’t manage to run because you have RVs in the observations which PyMC doesn’t allow. What version of PyMC are you using?

If it’s a recent one I suspect data @ rv is returning some weird constant numpy array (without ever invoking PyTensor) and the results you got were only accidentally good. You can print the result of that operation to confirm.

Calling pt.matmul(data, rv) should correctly cast data to a tensor and then PyMC will error out when you try to use it in observed