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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing
"unevaluatedProperties": falseallows for extending the configuration, but it critically weakens static validation. This change means that typos in standard property names (e.g.,state-storinstead ofstate-store) will no longer be detected by JSON schema validators in IDEs or CI pipelines.While Pydantic's runtime validation will eventually catch such errors, the lack of static validation increases the risk of deploying misconfigured extractors. For example, a misspelled
state-storeconfiguration would cause the extractor to fall back to a defaultLocalStateStore, potentially leading to data reprocessing or loss of state, which is a critical correctness issue.To maintain robust validation, I recommend keeping
"unevaluatedProperties": falseand documenting how users can extend the schema usingallOf. This approach ensures that base properties are always validated correctly while still providing a clear path for extensibility.Example for an extending schema:
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "allOf": [ { "$ref": "https://.../extractor_config.schema.json" } ], "properties": { "my-custom-property": { "type": "string" } } }There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't this what we are currently doing? Why is this change necessary really?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unevaluatedProperties: falseprevents extending the schema via allOf with additional properties.