How do I include constant_data in my model?

What version of pymc are you using? When I run this (a simplified version of your code):

import pymc as pm
coords = {
    "obs_id": [0,1,2,3,4],
}
with pm.Model(coords=coords) as rugby_model:
    item_idx = pm.Data('item_idx',[0,1,2,3,4], dims="obs_id", mutable=False)
    a = pm.Normal("a", 0.0, sigma=10.0, shape=5)

    theta = a[item_idx]
    sigma = pm.HalfCauchy("error", 0.5)

    y = pm.Normal("y", theta, sigma=sigma, observed=[3,2,6,8,4])

    idata= pm.sample()

I get this:

In [6]: idata
Out[6]: 
Inference data with groups:
	> posterior
	> log_likelihood
	> sample_stats
	> observed_data
	> constant_data

The constant data is this:

In [7]: idata.constant_data
Out[7]: 
<xarray.Dataset>
Dimensions:   (obs_id: 5)
Coordinates:
  * obs_id    (obs_id) int64 0 1 2 3 4
Data variables:
    item_idx  (obs_id) int32 0 1 2 3 4
Attributes:
    created_at:                 2022-05-17T21:29:44.899657
    arviz_version:              0.11.4
    inference_library:          pymc
    inference_library_version:  4.0.0b6