Error translating constant_data variable treatment_data: conflicting sizes for dimension 'obs_id': length 3 on the data but length 100 on coordinate 'obs_id'
The issue now is that from_pymc3_predictions takes the coordinates from the model, which have not been updated and therefore still have the original obs_id length. You have to provide new coordinates, something like as.from_pymc3_predictions(..., coords={"obs_id": [1, 2, 3]})
You have to make sure that all the shapes work together. Things that come to mind and would be issues:
You are creating pm.Data but not using it later in the model, so updating the data wonβt change anything in the model, only what ArviZ stored as constant_data
You are only updating only treatment and not covariates, those are added, so their shapes need to match for the model to work.