crosscheck

command
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Command crosscheck compares the scanner's unit measurements against lizard's, as an independent reading of the same source.

Nothing else verifies the unit inventory. The profile's tests pin every decision it makes, but they are written against the same reading of the model as the code, so a wrong reading passes both. lizard is a different implementation by different people over Go, TypeScript and Vue, which makes it the one available oracle for unit size, McCabe and parameter counts.

make sig-crosscheck

It is advisory and never a gate. Where the two differ, ours is usually right: lizard's Go front end is not AST-based, and two of the differences below are deliberate design decisions of this tool rather than defects. The value is in noticing a NEW divergence, which is why the summary is a handful of numbers rather than a list of every function.

Two systematic differences to expect, both explainable:

  • Function literals. The model's unit is the smallest NAMED piece of executable code, so a Go closure's lines and branches bill to the declaration enclosing it. lizard reports the closure as its own entry, so it finds units we do not, and our enclosing function measures larger than its.
  • Scan boundary. This tool excludes tests, generated output and internal/testhelpers; lizard is pointed at the same boundary by the Makefile, but a mismatch there shows up here as a pile of one-sided functions rather than as a metric disagreement.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL