Confusing documentation on persistence support for the dev mode

This document mentions that: For now, lets start the local agent in development mode, which is an in memory server mode with some common features enabled (despite security risks) for ease of use, and all persistence options turned off.

What is meant by “persistence options” here?
I found that I can still specify -data-dir and generate checks/, services/, node-id files and directories, and I can specify -log-file and it works. But also found that Token, KV pairs are not persistent.

I also found this documentation mentioning that : “… the only additional information Consul needs to run is the location of a directory for storing agent state data

I’m confused between the descriptions of these two documents and what is happening in reality, and I kind of feel that they are somewhat contradictory.

I would like to know which persistence options are turned off by dev mode, not all?
What is the difference between dev mode and production mode for persistence support?

Dev mode is intended for use for testing, storing nothing on disk.

It’s not expected that a user specify -data-dir in dev mode. By doing so, you’ve managed to switch certain parts of the code back to behaving more like non-dev mode.

@maxb , Thanks.

Yes, I understand that production mode should be used as much as possible.

My intention was to determine if there was a problem with the descriptions in the documentation, and it seems to me that there is a contradiction between the descriptions in the two documents.

I am compiling information on using consul and may need to share it with others, so when I find such problems I hope to be able to resolve them, otherwise I will have to collate it with my own conjecture, which is not rigorous.