Skip to content

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