Three metrics you pointed out: 1. Linter 2. Cyclomatic/halstead complexity 3. identifier naming convention testing
Are those really things that candidates can get a negative ding for? Those are things that can/should be handled automatically by libraries or your CI/CD (ex: Rubocop)
More importantly, how do you get more details/nuance over things like naming or cyclomatic complexity.