There is a functionality in pymc that allows you to censor univariate distributions automatically
https://www.pymc.io/projects/docs/en/latest/api/distributions/censored.html
and a nice page documenting examples
It will likely amount to what you are doing but without the added worry of “Am I using the lcdfs and lccdfs correctly”. Also if you have a model, you can always use that model (say with numpy.random or pymc itself) to generate simulated data and check that you predictions are correct.