Skip to content

change mandatory to optional links - #669

Open
RolandJentschETAS wants to merge 3 commits into
eclipse-score:mainfrom
etas-contrib:improvement_optional_arc_links
Open

change mandatory to optional links#669
RolandJentschETAS wants to merge 3 commits into
eclipse-score:mainfrom
etas-contrib:improvement_optional_arc_links

Conversation

@RolandJentschETAS

@RolandJentschETAS RolandJentschETAS commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

📌 Description

Change link from arch to req to optional, as process defines it in this way.

🚨 Impact Analysis

  • This change does not violate any tool requirements and is covered by existing tool requirements
  • This change does not violate any design decisions
  • Otherwise I have created a ticket for new tool qualification

✅ Checklist

  • Added/updated documentation for new or changed features
  • Added/updated tests to cover the changes
  • Followed project coding standards and guidelines

@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //src:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: 18988ac4-1bbc-470b-a2bf-7090c74957bc
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
DEBUG: /home/runner/.bazel/external/rules_python+/python/private/repo_utils.bzl:101:16: 
rules_python:coverage_dep WARNING: rules_python's bundled coverage tool has no wheel for python_version=3.12.13, platform=ppc64le-unknown-linux-gnu. `bazel coverage` will produce empty lcov for py_test targets in this configuration. Either pin python_version to a version in the bundled set (see python/private/coverage_deps.bzl), or configure coverage manually via py_runtime.coverage_tool. See docs/coverage.md.
DEBUG: /home/runner/.bazel/external/rules_python+/python/private/repo_utils.bzl:101:16: 
rules_python:coverage_dep WARNING: rules_python's bundled coverage tool has no wheel for python_version=3.12.13, platform=riscv64-unknown-linux-gnu. `bazel coverage` will produce empty lcov for py_test targets in this configuration. Either pin python_version to a version in the bundled set (see python/private/coverage_deps.bzl), or configure coverage manually via py_runtime.coverage_tool. See docs/coverage.md.
DEBUG: /home/runner/.bazel/external/rules_python+/python/private/repo_utils.bzl:101:16: 
rules_python:coverage_dep WARNING: rules_python's bundled coverage tool has no wheel for python_version=3.12.13, platform=s390x-unknown-linux-gnu. `bazel coverage` will produce empty lcov for py_test targets in this configuration. Either pin python_version to a version in the bundled set (see python/private/coverage_deps.bzl), or configure coverage manually via py_runtime.coverage_tool. See docs/coverage.md.
DEBUG: /home/runner/.bazel/external/rules_python+/python/private/repo_utils.bzl:101:16: 
rules_python:coverage_dep WARNING: rules_python's bundled coverage tool has no wheel for python_version=3.12.13, platform=x86_64-unknown-linux-musl. `bazel coverage` will produce empty lcov for py_test targets in this configuration. Either pin python_version to a version in the bundled set (see python/private/coverage_deps.bzl), or configure coverage manually via py_runtime.coverage_tool. See docs/coverage.md.
Loading: 0 packages loaded
    currently loading: src
Loading: 0 packages loaded
    currently loading: src
WARNING: Target pattern parsing failed.
ERROR: Skipping '//src:license-check': no such target '//src:license-check': target 'license-check' not declared in package 'src' defined by /home/runner/work/docs-as-code/docs-as-code/src/BUILD
ERROR: no such target '//src:license-check': target 'license-check' not declared in package 'src' defined by /home/runner/work/docs-as-code/docs-as-code/src/BUILD
INFO: Elapsed time: 7.540s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

@MaximilianSoerenPollak

Copy link
Copy Markdown
Contributor

📌 Description

Change link from arch to req to optional, as process defines it in this way.

Do you have a link to this?

@RolandJentschETAS

RolandJentschETAS commented Jul 28, 2026

Copy link
Copy Markdown
Contributor Author

📌 Description

Change link from arch to req to optional, as process defines it in this way.

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)

@github-actions

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

@AlexanderLanin AlexanderLanin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@AlexanderLanin AlexanderLanin Jul 28, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Concrete remediation proposal:

  1. 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.
  2. 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.
  3. 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).
  4. 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

4 participants