Currently KlerosCore is using custom errors without require to avoid hitting the contract size limit.
Custom errors were not adopted in other parts of the code partly due to the inverted logic. But with the recent support for require with custom errors, the logic can remain the same.
Solidity feature