If you regard the automagical creation of the temp.sqlite_parameters table as merely honoring Postel's law, then I would argue that you have not found a nit. Running ".parameter init" does have a user-visible effect for those users who may wish to insert their own key/value pairs (or run "select * from temp.sqlite_parameters".) For those who wish to bypass ".parameter set ... ...", it is a convenience at a minimum and could work nicely with schema change protection schemes. I think your guess is well grounded on the evidence, but not required by it. A doc comment could be added to say it's not necessary, but then more comment would be due to explain why it exists, perhaps with a discussion of information hiding and provision for enhancement. All that considered, I'm inclined to maintain the present silence on this "necessity".