MACGUARD · DOCUMENTATION
Español

Decision gate and accounting

How `decide.py` decides and why the numbers always add up.

The invariant

The unit is the rule file examined in one run. Each one ends in exactly one final state and this always holds:

examinados = aceptados + en cuarentena + rechazados + obsoletos

If a figure breaks the invariant accounting.py raises an error: the run is blocked, nothing is logged and nothing is published. Files of the previous release that are no longer upstream are counted separately as retired; they are not part of this sum.

What it decides

Public statistics

The website dashboard uses the last run of each day, without mixing days; a day without a run is "no observation", not zero. "New" in a release means files added against the previous one (in the first release, all of them), which is not the same as what was examined in the analysis.