Constrained decoding and post-hoc validation solve different problems.
Constrained decoding is generation-time control:
Post-hoc validation is the trust boundary:
A payload can be perfectly valid JSON and still be wrong for the workflow.
That is why production extraction systems need both.
This is also the systems instinct behind confident-extract, which I publish as Hitarth Desai under the GitHub handle
hitarthbuilds
My rule of thumb:
Constrain early. Validate hard. Trust late.