Skip to content

Profile resolution: clarification needed wrt pruning? #1314

Open
@wendellpiez

Description

@wendellpiez

"Pruning" is what the profile resolution spec describes as the removal of items from catalogs to produce baselines (resolved catalogs), where those items are not wanted or needed. A typical example would be how after selecting only a few controls from the catalog, in resolution a processor should know how to propagate only those resource objects in the back matter, that are actually referenced as links in the included controls. So the back matter gets trimmed to what is actually used. This can be overridden by including a property keep with value always, as described etc. etc.

Except as written, the rules are too greedy, and following them would require including (for example) controls that are specifically excluded.

For example https://pages.nist.gov/OSCAL/concepts/processing/profile-resolution/#d2e1504-head,

If the object appears in a reference anywhere in the final result catalog, except in other objects that also meet all other pruning criteria, it MUST NOT be removed. A reference to a given object exists if #{distinctiveID} appears anywhere, where {distinctiveID} is the distinctive ID of the object ...

If we follow this, then any control that is cross-referenced via link[@rel='related'] must be included, even when explicitly not included.

Similarly problematic are references from the merge phase.

Let's consider tightening these rules for example to include only references to parameters (which cannot be pruned without doing actual damage to document semantics), not just any reference to something?

Metadata

Metadata

Assignees

Labels

AgedA label for issues older than 2023-01-01Profile ResolutionIssues relating to profile resolution.question

Type

No type

Projects

Status

Further Analysis Needed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions