feat: change mandatory 'fulfils' to optional - #669
Conversation
License Check Results🚀 The license check job ran with the Bazel command: bazel run --lockfile_mode=error //src:license-checkStatus: Click to expand output |
Do you have a link to this? |
Sure. See https://eclipse-score.github.io/process_description/main/general_concepts/score_building_blocks_concept.html. The lines are blue, what means optional according to the legend. See also https://eclipse-score.github.io/process_description/main/process_areas/architecture_design/guidance/architecture_process_reqs.html#gd_req__arch_attr_fulfils. (should be == optional) |
|
The created documentation from the pull request is available at: docu-html |
AlexanderLanin
left a comment
There was a problem hiding this comment.
The proposed optionality conflicts with the current tool requirements. Please either retain these mandatory links or update and re-qualify the affected requirements in docs/internals/requirements/requirements.rst before this metamodel change.
generated by Codex running GPT 5.6 Terra
| belongs_to: feat # make it mandatory for evaluation | ||
| optional_links: | ||
| # req-Id: tool_req__docs_arch_link_fulfils, tool_req__docs_arch_link_fulfils_aou | ||
| fulfils: feat_req, aou_req |
There was a problem hiding this comment.
tool_req__docs_arch_link_fulfils is titled “Mandatory Architecture Attribute: fulfils” and is marked implemented. tool_req__docs_arch_link_fulfils_aou also requires static views to link to an AoU through fulfils. Making this optional permits a feat_arc_sta without any requirement/AoU trace. The same issue applies to the corresponding comp_arc_sta change below.
Please keep fulfils mandatory, or update the tool requirements and their qualification/status as part of this PR.
generated by Codex running GPT 5.6 Terra
There was a problem hiding this comment.
Concrete remediation proposal:
- Keep the existing ID tool_req__docs_arch_link_fulfils, but bump its version from 2 to 3 and update its title/text to reflect the corrected process semantics, for example:
- Title: “Architecture fulfils linkage rules”
- Text: “Docs-as-Code shall permit fulfils to be omitted for feat_arc_sta and comp_arc_sta. When fulfils is present, Docs-as-Code shall restrict its target to the source/target combinations in the table below.”
The existing allowed-combinations table can remain.
- Update tool_req__docs_arch_link_fulfils_aou as a new version as well: replace “static views link to” with wording that permits, rather than requires, fulfils links to aou_req.
- Keep the metamodel requirement references, now referring to the revised requirement versions, and add tests for an unlinked static view (accepted) and an invalid fulfils target (rejected).
- If non-QM architecture must still trace to a same-safety requirement, retain that separately as a conditional graph check; making fulfils optional must not bypass it.
A version bump preserves the requirement ID and its traceability history while making the changed semantics explicit.
generated by Codex running GPT 5.6 Terra
There was a problem hiding this comment.
Thanks for the detailed proposal. The tool requirements have been updated to make the optional semantics explicit rather than keeping fulfils mandatory:
tool_req__docs_arch_link_fulfilsreworded and bumped to version 3 (title "Architecture fulfils linkage rules"; text now: "allow or enforce where necessary that linking via thefulfilsattribute follows the defined rules"), allowed-combinations table retained.tool_req__docs_arch_link_fulfils_aoubumped to version 3 and reworded to permit (not require) afulfilslink toaou_req. This aligns with the base process requirementgd_req__arch_attr_fulfils, which is optional in the process repo.- Added tests: an unlinked static view is accepted, and an invalid
fulfilstarget is still rejected (feat_arc_sta__fulfils__optional/feat_arc_sta__fulfils__bad_targetin test_options_options.rst).
Addressed in c07e9cf.
| :parent_covered: YES | ||
|
|
||
| Docs-as-Code shall enforce that linking via the ``fulfils`` attribute follows defined rules. | ||
| Docs-as-Code shall permit the ``fulfils`` attribute to be omitted for feat_arc_sta and |
There was a problem hiding this comment.
I would like the wording as follows better:
Docs-as-Code shall allow or enforce where necessary that linking via the ``fulfils`` attribute follows the defined rules.
Then you avoid that whole other thingy no?
There was a problem hiding this comment.
Applied your suggested wording. Addressed in c07e9cf.
| Architectural static views (feat_arc_sta, comp_arc_sta) | ||
| link to Assumptions of Use (aou_req) via the ``fulfils`` attribute. | ||
| may link to Assumptions of Use (aou_req) via the ``fulfils`` attribute. | ||
| When such a link is present, Docs-as-Code shall restrict its target to aou_req. |
There was a problem hiding this comment.
The sentence above already includes this stipulation
| When such a link is present, Docs-as-Code shall restrict its target to aou_req. |
There was a problem hiding this comment.
Done — removed the redundant sentence; the reworded sentence above now covers it. Addressed in c07e9cf.
- Reword tool_req__docs_arch_link_fulfils per review (allow/enforce wording) - Mark all architecture fulfils links as optional in metamodel - Add tests for unlinked static view (accepted) and invalid fulfils target (rejected)
📌 Description
Change link from arch to req to optional, as process defines it in this way.
🚨 Impact Analysis
✅ Checklist