usnistgov/oscal-deep-diff

Out of tree comparison

Closed this issue · 0 comments

When comparing documents, sometimes objects move from one part of the document to another. This can be in the form of a promotion (for example, an OSCAL enhancement becoming a full control), demotion (for example, a control being demoted into an enhancement), or a move (for example, a control moving families).

Note that the previous implementation of the matching system did have the capability to perform these "out of tree" matches.

Goals:

  • Unmatched controls from an array comparison are collected
  • At every level, unmatched controls are matched by their parent control's pointer and compared
  • Out of tree matches are consumed properly by the control level comparison documents

Dependencies:

Acceptance Criteria

  • readme documentation affected by the changes in this issue have been updated.
  • A Pull Request (PR) is submitted that fully addresses the goals of this User Story. This issue is referenced in the PR.
  • The CI-CD build process runs without any reported errors on the PR. This can be confirmed by reviewing that all checks have passed in the PR.