The kernel library currently exposes two API for block validation:
btck_block_check: context-free checks only, andbtck_chainstate_manager_process_block: full validation that also connects the block, persists it to disk, updates indexes and fires notifications.
We could expose TestBlockValidity() using btck_chainstate_manager_test_block_validity that would fully validate a block in the context of current tip and that doesn't commit it. This could be beneficial for mining softwares and for testing purpose that would do contextual header/block checks and full script/UTXO validation as read only operation.