obducere/2 is the central act behind mix certitudo: capture coverage
from an already-exported .coverdata file and compare it against a
previous snapshot.
It is a pipeline of four stages, each enriching a shared context map:
Coverage.snapshot/1— builds the impressio from the coverdataImpressio.resolve/1— dedupes it against any prior run with the same fingerprintRetentio.resolve/1— locates the retentio (the previous snapshot, or an explicit--sincetarget)Discordia.inferentia/1— diffs the impressio against the retentio, if one was found
Running mix test to produce the .coverdata is the caller's
responsibility (Mix.Tasks.Certitudo) — obducere/2 only turns coverage
data already on disk into impressio/retentio/diff, and returns the
resulting context map for the caller to report.
Summary
Types
@type result() :: %{ run_id: binary(), run_label: binary(), coverdata_path: binary(), snapshot: map(), run_dir: binary(), kind: Certitudo.Impressio.kind(), impressio_run_dir: binary(), impressio_snapshot: map(), diff: Certitudo.Discordia.diff_result() }