Open aj-stein-gsa opened 1 month ago
OK I learned I was very wrong about this issue yesterday, and more to follow. This issue is not with the paths, the failure is occurring with schema enforcement. Takeaways from this:
So in the interim, we can refactor the test and improve the test harness it seems.
This relates to ...
What happened?
We have a common pattern in NIST and FedRAMP's OSCAL constraints separately. For the FedRAMP constraints, the eager use of the
|
operator for grouping and testing of multiple roles is problematic. Today, we learned of inconsistency with how these behave, much like the legacy Schematron constraints did (because the underlying XPath 3 assumption is the same; I cannot find the exact relevant details in the W3C spec quickly).https://github.com/GSA/fedramp-automation/blob/9d50039e52d2140fcce13940596474728dafe384/src/validations/constraints/fedramp-external-allowed-values.xml#L377-L389
This issue is to address that with a bug fix here, then integrate changes to the style guide in #760 or elsewhere if appropriate to strictly limit the use of this construct for similar use cases by developers. See the repro bug branch for details.
Commit on repro branch: https://github.com/aj-stein-gsa/fedramp-automation/commit/0248864c3b8a05676ca88888d76bedbd66a12658 Failure on CI/CD run of full test suite: https://github.com/aj-stein-gsa/fedramp-automation/actions/runs/11282608164/job/31380414397
Thanks to @DimitriZhurkin for locating and reporting this bug to the group today with some questions inadvertently during standup.
Relevant log output
How do we replicate this issue?
Where, exactly?
In constraints processing with constraint of ID
security-level
, but I have seen this pattern used frequently elsewhere.Other relevant details
Need to sort out best practices rules on use of the rules with combinatoric use of group
|
sets with @david-waltermire.