I was looking through main.cpp and it looks like bitcoin core writes unverified blocks to disk. Does Armory assume that the blk???.dat files are verified?
The
TestBlockValidity() function goes through the following steps.
CheckBlock -> does basic checks
AcceptBlock -> writes block to disk
ActivateBestChain calls ActivateBestChainStep call ConnectTip calls ConnectBlock -> verifies the scripts
This means that blocks which meet all the basic rules (POW, hashes, size limits etc.) are written to disk even if the scripts fail.