Coverage and precision meta-analysis.
Measures the extractor pipeline itself rather than the analyzed code.
Every fallback to a "dynamic" placeholder is recorded as an
imprecision fact, and passive Datalog rules derive "recognized shape
but no detail extracted" findings from the existing Layer 2 fact base.
Running this analysis tells Argus developers exactly where the extractors are losing information — the raw feedback loop for iterative precision work. It's a developer-facing meta-analysis, not a correctness check, and is excluded from the default correctness set.
How it's different from other analyses
Unlike every other analysis in Argus, coverage opts the pipeline
into imprecision tracing. Argus.Analysis.run/3 sets
trace_imprecision: true automatically when it sees this analysis
name, so the per-process flag in Argus.Extractor.Helpers flips on
inside each extractor worker. No other analysis populates the
imprecision relation.
Output relations
imprecision_event(category, func, relation, reason)— raw fallback events emitted by the extractors. One row pertrack_dynamic/track_imprecisioncall site that fired.coverage_supervisor_no_children(sup)— supervisor recognized but no static or dynamic children recovered.coverage_genserver_isolated(mod)— GenServer module with zero observed sync_call/async_cast traffic.coverage_ets_unused(name)— named ETS table with no observed read or write operations.coverage_named_process_unreachable(name, mod)— registered name with no sync or async traffic targeting it.