feat: add optional 'maturity' attribute to mod need type - #838
Conversation
Adds an optional 'maturity' option (preview/experimental/release) to the 'comp' need type in metamodel.yaml, plus regression tests covering valid and invalid values.
The optional 'maturity' attribute added to the 'comp' need type introduces a new field in the generated sphinx-needs schema. Update the checked-in golden needs.json/needs_local.json files accordingly.
f9ca91a to
d563fc5
Compare
|
Documentation preview for this pull request is available at: |
|
@MaximilianSoerenPollak , @AlexanderLanin please review/approve |
This change is only for If it's only for |
@MaximilianSoerenPollak , you are right, should be per mod:. Will adapt it asap. |
|
what do we do for traceability? Tool requirement without parent for now? |
That would make sense probably. |
@MaximilianSoerenPollak done, now the maturity is specified per module. Do I need to specify any requirements? If yes, where? |
There was a problem hiding this comment.
🟡 Changes recommended
The implementation targets modules while the PR advertises component support, and its optionality conflicts with the linked decision record.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds maturity classification validation to the metamodel and updates regression fixtures.
Changes:
- Allows
preview,experimental, orreleasematurity values. - Adds validation cases and refreshes generated JSON expectations.
File summaries
| File | Description |
|---|---|
| src/tests/docs_bzl/scenarios/subdirectory_bundle/producer/_expected/needs_json/needs.json | Updates producer snapshot. |
| src/tests/docs_bzl/scenarios/subdirectory_bundle/consumer/_expected/needs_json/needs.json | Updates consumer snapshot. |
| src/tests/docs_bzl/scenarios/reference_integration/score_platform/_expected/needs_json/needs.json | Updates platform snapshot. |
| src/tests/docs_bzl/scenarios/reference_integration/modern_module/docs/components/unlinked_component/_expected/needs_local.json | Updates local modern-module snapshot. |
| src/tests/docs_bzl/scenarios/reference_integration/modern_module/_expected/needs_json/needs.json | Updates modern-module snapshot. |
| src/tests/docs_bzl/scenarios/reference_integration/legacy_module/docs/components/component/_expected/needs_local.json | Updates local legacy-module snapshot. |
| src/tests/docs_bzl/scenarios/reference_integration/legacy_module/_expected/needs_json/needs.json | Updates legacy-module snapshot. |
| src/tests/docs_bzl/scenarios/reference_integration/_expected/needs_local.json | Updates reference snapshot. |
| src/tests/docs_bzl/scenarios/nested_bundles/_expected/needs_json/needs.json | Updates nested-bundle snapshot. |
| src/tests/docs_bzl/scenarios/data_files_runfiles/_expected/needs_json/needs.json | Updates runfiles snapshot. |
| src/tests/docs_bzl/scenarios/data_files_runfiles/_expected/isolated_source_bundle_needs/needs.json | Updates isolated-bundle snapshot. |
| src/tests/docs_bzl/scenarios/data_files_runfiles/_expected/data_bundle_needs/needs.json | Updates data-bundle snapshot. |
| src/tests/docs_bzl/scenarios/basic_docs/_expected/needs_json/needs.json | Updates basic-docs snapshot. |
| src/extensions/score_metamodel/tests/rst/options/test_options_options.rst | Adds valid and invalid maturity cases. |
| src/extensions/score_metamodel/metamodel.yaml | Defines the accepted maturity values. |
Review details
- Files reviewed: 15/15 changed files
- Comments generated: 1
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| safety: ^(QM|ASIL_B)$ | ||
| # req-Id: tool_req__docs_common_attr_status | ||
| status: ^(valid|invalid)$ | ||
| maturity: ^(preview|experimental|release)$ |
Adds an optional 'maturity' option (preview/experimental/release) to the 'comp' need type in metamodel.yaml, plus regression tests covering valid and invalid values.
Decision Record: https://github.com/eclipse-score/score/blob/main/docs/design_decisions/DR-003-strat.md
📌 Description
🚨 Impact Analysis
✅ Checklist