Netcracker / Netcracker/qubership-envgene
[Story:] Allow additional top-level attributes in AppDef and RegDef schemas
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8
- Forks
- 15
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 43
Description
Context
The AppDef and RegDef JSON schemas set additionalProperties: false on the root object. AppDef
objects legitimately carry extra top-level fields that the schema does not model, for example
baseline and config. The strict root closes the field set and makes schema validation hard-fail
generation on otherwise valid objects. EnvGene does not fully own or know the complete AppDef and
RegDef model, so asserting a closed top-level field set is incorrect.
The schema change is already implemented on branch fix/appdef-regdef-allow-additional-attrs (off
origin/main): the root object is relaxed to additionalProperties: true in schemas/appdef.schema.json,
schemas/regdef.schema.json, schemas/regdef-v2.schema.json, and the two in-package copies under
python/envgene/envgenehelper/schemas/. required fields and the declared types of known fields are
untouched, and nested config blocks stay strict.
In scope changes
- Review the schema diff.
- Confirm the test suite is green with the change and add coverage if a gap is found.
- Release the change.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review branch fix/appdef-regdef-allow-additional-attrs against origin/main, focusing on schemas/appdef.schema.json, schemas/regdef.schema.json, schemas/regdef-v2.schema.json, and the two copies under python/envgene/envgenehelper/schemas/. Run the test suite, add coverage only if a gap is found, and confirm the reviewed change is ready for release.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- json, python
- Domain
- release, testing-qa, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 38/100