Documentation
¶
Overview ¶
cbm-call-audit — Phase A”' diagnostic for the C extractor's CALLS under-emission on Rust function bodies (2026-05-14 ABC roadmap).
Reads one or more Rust source files, runs cbm.ExtractFile, and reports CBMCall records grouped by enclosing_func_qn. Surfaces functions whose CBMCall count is suspiciously low relative to source size — the bug shape established earlier: assetman/src/cmd/runners.rs::run_services has ~30 visible call sites but emits 1 CBMCall.
Usage:
cbm-call-audit --project <project> --file file1.rs [--file file2.rs ...] cbm-call-audit --project <project> --dir <directory>
Output (one JSON object per file on stdout):
{
"file": "assetman/src/cmd/runners.rs",
"module_qn": "...",
"functions": [
{"qn":"...run_services","cbm_calls":1,"loc_lines":50,
"calls_per_line":0.02},
...
]
}
loc_lines is the function's source line count from the Definition record. calls_per_line is a rough density metric; low density on a non-trivial function (>10 lines) is the bug-class signature.