Skip to content

docs: update tool requirement status for 7 implemented requirements#620

Merged
AlexanderLanin merged 7 commits into
mainfrom
1782396615-update-tool-req-impl-status
Jun 26, 2026
Merged

docs: update tool requirement status for 7 implemented requirements#620
AlexanderLanin merged 7 commits into
mainfrom
1782396615-update-tool-req-impl-status

Conversation

@FScholPer

Copy link
Copy Markdown
Contributor

Update implementation status from NO/PARTIAL to YES for tool requirements that are already enforced in code (metamodel.yaml + check_options.py):

  • tool_req__docs_saf_attrs_content: content mandatory_options on all safety types
  • tool_req__docs_saf_attrs_violates: violates mandatory_links on all safety types
  • tool_req__docs_saf_attr_fmea_fault_id: fault_id mandatory_options on FMEA types
  • tool_req__docs_saf_attr_dfa_failure_id: failure_id mandatory_options on DFA types
  • tool_req__docs_req_attr_validity_correctness: regex validation in metamodel.yaml
  • tool_req__docs_req_attr_validity_consistency: check_validity_consistency local check
  • tool_req__docs_doc_generic_mandatory: all attrs enforced as mandatory_options/links

Each updated requirement now includes a :source_code_link: to the corresponding implementation file and an Implementation note.

📌 Description

🚨 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

Frank Scholter Peres frank.scholter_peres@mercedes-benz.com, Mercedes-Benz Tech Innovation GmbH
Provider Information

  • Assisted by copilot

FScholPer and others added 2 commits June 25, 2026 14:12
Update implementation status from NO/PARTIAL to YES for tool requirements
that are already enforced in code (metamodel.yaml + check_options.py):

- tool_req__docs_saf_attrs_content: content mandatory_options on all safety types
- tool_req__docs_saf_attrs_violates: violates mandatory_links on all safety types
- tool_req__docs_saf_attr_fmea_fault_id: fault_id mandatory_options on FMEA types
- tool_req__docs_saf_attr_dfa_failure_id: failure_id mandatory_options on DFA types
- tool_req__docs_req_attr_validity_correctness: regex validation in metamodel.yaml
- tool_req__docs_req_attr_validity_consistency: check_validity_consistency local check
- tool_req__docs_doc_generic_mandatory: all attrs enforced as mandatory_options/links

Each updated requirement now includes a :source_code_link: to the
corresponding implementation file and an Implementation note.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Update :source_code_link: fields to point to specific line numbers in
metamodel.yaml and check_options.py. Add inline RST hyperlinks in
implementation notes so readers can click through to the exact code.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@github-actions

github-actions Bot commented Jun 25, 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: 1089582e-3c16-4eff-b780-130145ae157b
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
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: 5.782s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

@github-actions

Copy link
Copy Markdown

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

@FScholPer FScholPer marked this pull request as ready for review June 25, 2026 14:39
Comment thread docs/internals/requirements/requirements.rst Outdated
Comment thread docs/internals/requirements/requirements.rst
Comment thread docs/internals/requirements/requirements.rst Outdated
Comment thread docs/internals/requirements/requirements.rst

@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.

AI-assisted review (Claude):

Critical: 0 · Important: 0 · Suggestions: 1

The primary blocker from my prior CHANGES_REQUESTED review — hardcoded :source_code_link: attributes on the needs — has been removed. The branch now differs from current main only in requirements.rst.

What the remaining diff actually does

Requirement Change Verified?
tool_req__docs_doc_generic_mandatory PARTIAL → YES, v2 → v3 ✅ attrs enforced as mandatory_options in metamodel.yaml
tool_req__docs_req_attr_validity_correctness PARTIAL → YES, v1 → v2 ✅ regex in metamodel.yaml
tool_req__docs_req_attr_validity_consistency PARTIAL → YES, v1 → v2 check_validity_consistency in check_options.py:281
tool_req__docs_saf_attrs_content NO → YES, v1 → v2 content: ^[\s\S]+$ on all safety types
tool_req__docs_saf_attrs_violates NO → YES, v1 → v2 mandatory_links.violates on all safety types
tool_req__docs_saf_attr_fmea_fault_id NO → YES, v1 → v2 fault_id: ^.*$ mandatory on FMEA types
tool_req__docs_saf_attr_dfa_failure_id NO → YES, v1 → v2 failure_id: ^.*$ mandatory on DFA types

Two description bugs fixed: tool_req__docs_saf_attr_fmea_fault_id previously said "DFA" (wrong type), and tool_req__docs_saf_attr_dfa_failure_id previously said fault_id (wrong attribute name). Both corrections are correct.

The tool_req__docs_saf_attrs_violates table was updated to show feat_arc_dyn, feat_arc_sta and comp_arc_dyn, comp_arc_sta for FMEA types. This matches the actual metamodel.yaml (lines 769–770 and 796–797) — the documentation was wrong before.

Suggestion: note the scope of enforcement for fault_id / failure_id

The requirement text says "Allowed values are listed as ID in tables at gd_guidl__dfa_failure_initiators" — implying value validation was in scope. The current enforcement is presence-only (^.*$). Maximilian flagged this and Frank confirmed the current state is acceptable, which is fine — but it may be worth clarifying in the requirement body that presence is enforced; value validation against the process table is not. That way future readers don't open a new "is this really YES?" discussion.

Not a blocker.

.. tool_req:: Safety Analysis Linkage Violates
:id: tool_req__docs_saf_attrs_violates
:implemented: NO
:implemented: YES

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.

unfortunately this one is PARTIAL only.

Suggested change
:implemented: YES
:implemented: PARTIAL

requirement says:

feat_saf_fmea --> feat_arc_dyn
comp_saf_fmea --> comp_arc_dyn

but metamodel allows:

feat_saf_fmea --> feat_arc_dyn OR feat_arc_sta
comp_saf_fmea --> comp_arc_dyn OR comp_arc_sta

I do not know which one is better. Is the requirement correct or the metamodel?

comp_saf_fmea comp_arc_dyn
============= ===================
feat_saf_fmea feat_arc_dyn, feat_arc_sta
comp_saf_fmea comp_arc_dyn, comp_arc_sta

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.

oh... 😆

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.

According to context this should also allow feat_saf_dfa --> feat_arc_dyn. And maybe feat_saf_dfa --> logic_arc_int. This tool requirement does not match the linked process requirement. Not an issue of this PR, just not sure what to do with it.

As it's not this PR, I guess we can merge this PR and I'll open a bug ticket instead.

:parent_covered: NO

Docs-As-Code shall enforce that needs of type DFA (see
Docs-As-Code shall enforce that needs of type FMEA (see

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.

Nope. Process requirment clearly states DFA:

Each DFA shall have a failure ID

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.

oh god. you are right. same mistake as when writing the requirement and and as when it was originally reviewed. thats almost systematic now. It feels like this is showing DFA. But it is not. It's just the very bottom of the page!

Image

@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 requirement text says "Allowed values are listed as ID in tables at gd_guidl__dfa_failure_initiators" — implying value validation was in scope. The current enforcement is presence-only (^.*$).

Mhh... I did not see this one, good point.

@AlexanderLanin

Copy link
Copy Markdown
Member

Summarizing review/fixes:

  • as we have now invested lots of effort, and verified tool requirements match process requirements, we can make the link versioned, as the tool requirements are now indeed verified
  • tool_req__docs_saf_attrs_violates was missing link to a backlink requirement, which is implicitly fullfilled. Link added.
  • tool_req__docs_saf_attr_dfa_failure_id was already discussed to not really fully be implemented, this is now clarified
  • tool_req__docs_saf_attrs_violates is unclear, issue in process created

@AlexanderLanin AlexanderLanin merged commit 454accf into main Jun 26, 2026
17 checks passed
@AlexanderLanin AlexanderLanin deleted the 1782396615-update-tool-req-impl-status branch June 26, 2026 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

3 participants