I’m not sure you need a custom prior for this. Would it make sense to model this something like:
with pm.Model() as model:
y0 = pm.Normal('y0',mu=some_representative_mu,sd=some_representative_sd)
delta = pm.HalfNormal('delta',sd=some_representative_sd,shape=(length_of_data-1))
y = theano.tensor.extra_ops.cumsum(theano.tensor.stack([y0,delta]))
observed = pm.Bernoulli('observed', p=y, observed=observed_y)
where I’ve assumed that each delta is independent of the others.