0.1.0: the first release

Finished 2026-09-26.

The plan was eleven steps, each ending in a check that could confirm it rather than a judgement that
it looked done.

Step Built Done when Result
0 CMake skeleton that finds libclang on Windows and Linux; CI CI green on both, and a deliberately failing test turns it red done
1 lines of code, from raw text fixture totals match hand counts; cloc agrees or each difference is explained done
2 compilation database loading, libclang parsing, function discovery every function in a fixture found at the right line done
3 cyclomatic complexity, module summaries, thresholds hand-computed values; lizard agrees on a real repository or each difference is explained done: 99.0% on Catch2
4 include graph, cycles, fan-in and fan-out, coupling, DOT a fixture with a known cycle reports exactly that cycle done
5 Halstead measures hand-computed volume, difficulty and effort done
6 documentation coverage a fixture’s known documented and undocumented split, exactly done
7 coverage import: gcov JSON, llvm-cov JSON, lcov totals match gcovr and llvm-cov on the same data done
8 the report: JSON with a schema, CSV, Markdown a fixture report reads cleanly and its JSON validates done
9 a run on a real system, published as a sample a report from a public Earthworm checkout, with its module map done, plus libmseed
10 self-review in CI, README, a tagged release a release tag, and CI keeps Tezcatl’s own report done

What the plan did not foresee

The runs on real systems found defects every fixture had passed: a build directory that is the
project root excluded the whole project, database entries for Fortran were counted as C parse errors,
test files’ coverage lifted the totals, and which configuration of a file compiled twice survived
depended on the standard library. Each is fixed, tested and in the sabotage log.

Hardening after step 9 made Earthworm’s report 9.2 times faster, from 78.5 s to 8.6 s on Debug
builds, with every output byte-identical at each step. A Release build runs it in 3.5 s at 16
threads and 23.7 s on one (AMD Ryzen 7 7840HS, 2026-09-26).