That's too restrictive. We've already seen issues with ADVI having to hack the output by:
- adding a dummy value of 0 for
- putting the variational solution as the first "draw"
3.having the rest of the draws represent the posterior.
We should have inference algorithms some flexibility in what they produce. There are even differences in static HMC vs NUTS in the output and differences between unit, diagram, and dense choice of metric. We do similar things once we have the output, but we should be able to do some different things. Like report Rhat for draws, report max for tree depth, and counts for divergences.
So I don't think we should be forcing everything to go through the same writers. We should be defining the output for each inference algorithm. There will be a lot of similar output, but not everything will need to adhere to the exact same output.
Hopefully that makes sense. More discussion is welcome (maybe on the other thread discussing CSV writers?).