Repository navigation
fix: evaluate project-wide rules over the whole project on selected runs - #1198
Merged
Merged
Conversation
A selection evaluated every configured rule on its slice of models, so rules that compare models with each other, such as the published name-shape rule, could report findings that a whole-project compile does not. Selected runs now evaluate model-scoped rules on the slice and project-wide rules on the whole project with the complete exception policy, keeping only their findings on selected models and on files that are not models. The whole-project pass caches in its own bulk cache directory.
Dropping project-wide codes from a selected run's rule selection changed the per-model built-in rules cache key, so compile and a selected plan replaced each other's cache bucket. The slice selects every rule again, as before; its project-wide findings are still discarded in favour of the whole-project pass, and it no longer runs project-wide custom rules that pass replaces.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
sqb plan -s,sqb build -s,sqb compile -sandsqb rules run --selectevaluated every configured Rule on the selected slice of models. Rules that compare models with each other, such asSQBRPROJECT107(one published name shape per domain, decided by majority), then gave different findings from a whole-projectsqb compile. A selection could report a model that compile accepts.Changes
bulk/whole-project/, so the two passes never overwrite each other's cache.SQBRTEST301coverage matches compile.Verification
make check-cipasses.