openregs impact
What moving between two releases does to a control mapping.
Intersect the diff between two releases with a firm’s controls.yaml and answer the one question a release bump has to answer before it merges: does a control now discharge a duty whose meaning has moved? Exits 1 when an atom the mapping maps to a control changed SUBSTANTIVELY, and 0 otherwise — an editorial change to a mapped atom, a change to a waived atom and a change to an atom nobody mapped all leave it 0. Ticket-ready JSON is always written to stdout, listing per impacted atom the control id, its owner, the change classification and the citation; changed-but-waived atoms are reported in their own section with the rationale, and changed unmapped atoms in a third with a warning. Every classification is the release’s own, read from the diff manifest it shipped and never recomputed.
openregs impact [-h] --diff <regime>@<tag>..<regime>@<tag> --map <controls.yaml> [--root <path>]| Option | |
|---|---|
--diff <regime>@<tag>..<regime>@<tag> | the release move to report on, oldest first, for example fixreg@2025.02..fixreg@2025.04 (required) |
--map <controls.yaml> | the firm’s mapping from atom ids to its own controls and waivers (required) |
--root <path> | repository root, where the two releases are read from |
Rendered from openregs/openregs@cbe9615:tooling/openregs/cli/main.py