Any way to recover backup (repair and purge-broken-files don't help)?

Database and destination internals will help if @solf wants to try to follow along with the discussion.
There’s also some sample (non-error) output from the Python destination checker script I mentioned, however if a forecast of recreate success isn’t needed, one can just save the old database then try it.

I’ll assume this refers to the “Internal consistency check” failure originally posted, and discussed here.

so what Duplicati calls a blocklist which identifies blocks of a multi-block file by those block hashes concatenated together. A blocklist is itself a block in Block table, but is also in the BlocklistHash table. Typically the same dual nature is visible in the dindex file, where it’s in both the vol and list folders.

Here though, we have a missing dindex file, but I guess its dblock file still exists, and has all its data?
Sometimes it’s also helpful to look at the RemoteOperation table or somehow construct a chronology.
Use of Path field is subject to age based deletion, but the Data field of list will show even old dates.

It wasn’t clear if there was any further evidence found in the database to predict reasonable recreate, however sometimes a bug report after recreate (if it works) can be compared to old DB, for more info.