Implement ignore_overwritten_missing_references kapicorp-reclass config option#185
Merged
Implement ignore_overwritten_missing_references kapicorp-reclass config option#185
ignore_overwritten_missing_references kapicorp-reclass config option#185Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
7a70f9a to
aae4c56
Compare
This comment was marked as outdated.
This comment was marked as outdated.
ignore_overwritten_missing_references kapicorp-reclass config option
ignore_overwritten_missing_references kapicorp-reclass config optionignore_overwritten_missing_references kapicorp-reclass config option
aae4c56 to
a4819e4
Compare
…e()` This addresses the `clippy::implicit_clone` lint.
The helper returns true for all Value variants other than Mapping, Sequence and ValueList.
We default the option to `true` to retain the kapicorp-reclass default behavior. In contrast to kapicorp-reclass, we can't currently collect all resolution errors but instead hard-fail on the first non-ignored error we encounter. Technically this is a breaking change for existing reclass-rs inventories. The implementation introduces a new Value variant `ResolveError` which is used by the Value implementation to decide which resolve errors are always errors and which can be downgraded to warnings when Reclass option `ignore_overwritten_missing_references` is set to `true`. Fixes #184
This comment was marked as outdated.
This comment was marked as outdated.
a4819e4 to
0c7b42c
Compare
Benchmark for d6be1b2 (Without new node in inventory)Click to view benchmark
|
6427844 to
6cc3baa
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Member
Author
|
Performance overhead for a real Commodore inventory (APPUiO Lab) is negligible: |
Member
Author
We could do this, but we'd need to refactor a bunch of state tracking to make it actually work properly, so we leave it for now. |
Member
Author
|
PyO3 deprecation warnings are addressed in #191 |
686fd2d to
ded03b2
Compare
This comment was marked as outdated.
This comment was marked as outdated.
ded03b2 to
974108a
Compare
This comment was marked as outdated.
This comment was marked as outdated.
Benchmark for 514013a (With new node in bench inventory)Same implementation as benchmark results in #185 (comment) but with a new inventory node n26 which has a bunch of overwritten missing references in the classes it includes. Click to view benchmark
|
bastjan
approved these changes
Nov 25, 2025
…ing override mapping keys We also add some diagnostic error messages when dropping unrendered mapping values.
Users can opt in to those warnings by setting `verbose_warnings: true` in their inventory's `reclass-config.yml`.
5e7bb80 to
de64609
Compare
Benchmark for 38f7e84Click to view benchmark
|
Member
Author
|
macOS 13 EOL handled in #193 |
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.
This PR changes reclass-rs to allow missing overwritten references in scalar target values by default to match kapicorp-reclass behavior.
Additionally, this PR implements the kapicorp-reclass config option
ignore_overwritten_missing_referencewhich allows users to tune the behavior (and restore the previous reclass-rs behavior of aborting on missing references in scalar target values).Fixes #184
TODO
Checklist
bug,enhancement,documentation,change,breaking,dependency,internalas they show up in the changelog