Skip to content
Open
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions src/extensions/score_metamodel/metamodel.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -430,10 +430,11 @@ needs_types:
mandatory_links:
# req-Id: tool_req__docs_arch_links
includes: logic_arc_int, logic_arc_int_op
# req-Id: tool_req__docs_arch_link_fulfils, tool_req__docs_arch_link_fulfils_aou
fulfils: feat_req, aou_req
# req-Id: tool_req__docs_arch_links
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

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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_fulfils reworded and bumped to version 3 (title "Architecture fulfils linkage rules"; text now: "allow or enforce where necessary that linking via the fulfils attribute follows the defined rules"), allowed-combinations table retained.
  • tool_req__docs_arch_link_fulfils_aou bumped to version 3 and reworded to permit (not require) a fulfils link to aou_req. This aligns with the base process requirement gd_req__arch_attr_fulfils, which is optional in the process repo.
  • Added tests: an unlinked static view is accepted, and an invalid fulfils target is still rejected (feat_arc_sta__fulfils__optional / feat_arc_sta__fulfils__bad_target in test_options_options.rst).

Addressed in c07e9cf.

tags:
- architecture_element
- architecture_view
Expand Down Expand Up @@ -589,10 +590,10 @@ needs_types:
mandatory_links:
# req-Id: tool_req__docs_arch_links
belongs_to: comp
# req-Id: tool_req__docs_arch_link_fulfils, tool_req__docs_arch_link_fulfils_aou
fulfils: comp_req, aou_req
optional_links:
uses: logic_arc_int, real_arc_int_op
# req-Id: tool_req__docs_arch_link_fulfils, tool_req__docs_arch_link_fulfils_aou
fulfils: comp_req, aou_req
tags:
- architecture_view
parts: 3
Expand Down
Loading