Here I am again, sorry for having taken my time.
I've removed any ExcludeFilter settings from all my archives and switched to use 'qrecall captureprefs exclude [?]' instead of setting exclusions inside the archives for all exclusions on my own volumes.
It kind of worked, yet, still didn't? Anyhow, this looks increasingly strange?
After deleting the exclusion data I could access the archive again which is a good thing. I was able to perform a couple of captures, a rolling merge, another couple of captures, and after the next compact action the archive wouldn't verify anymore. It was easy (if lengthy) to repair, but ever since the state of things has been the same: captures and merges work fine, compact actions will reliably cause the next verify to fail and mark the archive as broken, even though without running a verify action I can keep capturing, merging and compacting without any trouble. To phrase the same thing from a different angle: after a repair the archive will verify fine until the first compact action is run. After that, it can be used without issue as long as no verify action is run as that will flag the archive as broken. I'm not sure if compact actually breaks something that nobody but verify cares about, if verify is over-zealous about something it shouldn't concern itself with, or if each of the two is doing right but they just don't have the same understanding of how an archive should look like.
I have tried moving my volume history to a new archive using a repair action, but the "curse" was copied over as well.
Here's what I do on the example of a short-term dev repository:
qrecall repair work.medium.quanta --recover work.repaired.quanta -o noautorepair -o lostfiles --monitor
|- -|
mv work.repaired.quanta/ work.medium.quanta
vi work.medium.quanta/settings.plist # remove any ExcludeFilter entries possibly present
qrecall capture work.medium.quanta/ --deep --monitor /Volumes/work/
|- -|
qrecall verify work.medium.quanta # will be fine
|- -|
qrecall merge work.medium.quanta --monitor --layers keep=30d
|- -|
qrecall verify work.medium.quanta # will be fine
|- -|
qrecall compact work.medium.quanta --monitor
|- -|
qrecall verify work.medium.quanta --monitor # this is going to fail
|- -|
* verify process failed: unhashed data package missing from index
I can live with remembering to always run a verify-repair loop after ever compact action, I do them only once in three months anyway. Even this I could speed up by just "repair --recover"ing, deleting the old and renaming the new archive so it reads through the whole thing only once.
What bugs me the most is that this is only affecting two of my archives. All the others behave just fine. I can't find the difference between these two and the rest for the dear life of me. Am I to leave these archives dormant and start new ones with the same settings, splitting volume history over two repositories? Or should I turn to use repair actions instead of verify actions?
Any ideas?