That is section 1.4 in [How To Corrupt An SQLite Database File](https://www.sqlite.org/howtocorrupt.html) and is indeed the expected behavior. You can see what's in the header for the WAL file [here](https://www.sqlite.org/fileformat2.html#the_write_ahead_log) "What database did it come from" is stored as the name of the file itself. I'm not quite sure what else you could put in there as a validation. Maybe the file change counter? Or does that not get used in WAL mode?