Skip to content

feat: add SCORE Tool Management HowTo and example - #831

Merged
AlexanderLanin merged 19 commits into
eclipse-score:mainfrom
etas-contrib:tool-verification-report
Sep 28, 2026
Merged

AlexanderLanin merged 19 commits into
eclipse-score:mainfrom
etas-contrib:tool-verification-report

Conversation

@AlexanderLanin

@AlexanderLanin AlexanderLanin commented Sep 15, 2026 •

Copy link
Copy Markdown
Member

Why

This PR makes the SCORE Tool Management workflow executable in Docs-as-Code, so evaluation, qualification, lifecycle status, and generated evidence are validated consistently and cannot diverge.

Scope

This PR focuses on how to model and execute the workflow through the HowTo and an example report. The completeness and correctness of the actual report content are out of scope; the focus is on the process, not the example's content.

Preview

What changed

  • Added explicit tool-use-case ownership and conditional malfunction validation.
  • Derived TVR safety relevance and TCL from the graph; enforced lifecycle and qualification completeness.
  • Generated evaluation, classification, and qualification evidence views.
  • Updated the HowTo, requirements, and regression coverage.

Please review and do NOT merge yet

@AlexanderLanin AlexanderLanin changed the title feat: add tool qualification verification report model POC: add tool qualification verification report model Sep 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Documentation preview for this pull request is available at:
pr-831: https://eclipse-score.github.io/docs-as-code/pr-831/

a-zw
a-zw previously requested changes Sep 16, 2026
Comment thread docs/internals/requirements/tool_qualification_example.rst Outdated
Comment thread docs/internals/requirements/tool_qualification_example.rst Outdated
Comment thread docs/internals/requirements/tool_qualification_example.rst Outdated
Comment thread docs/internals/requirements/tool_qualification_example.rst Outdated
@attifunel
attifunel self-requested a review September 16, 2026 13:38
@AlexanderLanin
AlexanderLanin force-pushed the tool-verification-report branch from 2ca13d2 to 47270ce Compare September 17, 2026 06:37
@AlexanderLanin AlexanderLanin changed the title POC: add tool qualification verification report model Implement SCORE Tool Management workflow Sep 22, 2026
@AlexanderLanin
AlexanderLanin force-pushed the tool-verification-report branch from 431a148 to 272653e Compare September 22, 2026 17:07

@AlexanderLanin AlexanderLanin left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I mapped the Teams feedback to the relevant sections of the How-to guide.

Comment thread docs/how-to/perform_tool_verification.md
Comment thread docs/how-to/perform_tool_verification.md Outdated
Comment thread docs/how-to/perform_tool_verification.md Outdated
Comment thread docs/how-to/perform_tool_verification.md Outdated
Comment thread docs/how-to/perform_tool_verification.md Outdated
Comment thread docs/how-to/perform_tool_verification.md
Comment thread docs/how-to/perform_tool_verification.md
Comment thread docs/how-to/perform_tool_verification.md
Comment thread docs/how-to/perform_tool_verification.md Outdated
Comment thread docs/how-to/perform_tool_verification.md Outdated

@AlexanderLanin AlexanderLanin left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Additional terminology feedback from Teams.

Comment thread docs/how-to/perform_tool_verification.md Outdated
Comment thread docs/how-to/perform_tool_verification.md Outdated
Comment thread docs/internals/requirements/tool_qualification_example.rst Outdated
Comment thread docs/internals/requirements/tool_qualification_example.rst Outdated
@AlexanderLanin AlexanderLanin changed the title Implement SCORE Tool Management workflow feat: add SCORE Tool Management HowTo and example Sep 24, 2026
@AlexanderLanin AlexanderLanin changed the title feat: add SCORE Tool Management HowTo and example feat!!!: add SCORE Tool Management HowTo and example Sep 24, 2026
@AlexanderLanin
AlexanderLanin marked this pull request as ready for review September 24, 2026 07:16

@aschemmel-tech aschemmel-tech left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Generally this "how-to" matches my understanding of the process description. Some findings inline for further improvement/discussion.
Generated Tool Verification Report is missing information which is required by the template (e.g. what is below "Introduction": "Inputs and Outputs")

Comment thread docs/how-to/perform_tool_verification.md Outdated
Comment thread docs/how-to/perform_tool_verification.md
Comment thread docs/how-to/perform_tool_verification.md Outdated
Comment thread docs/how-to/perform_tool_verification.md Outdated
Comment thread docs/how-to/perform_tool_verification.md Outdated
Comment thread docs/how-to/perform_tool_verification.md
Comment thread docs/how-to/perform_tool_verification.md

@MaximilianSoerenPollak MaximilianSoerenPollak left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Questions from my side regarding this.

Comment thread src/extensions/score_metamodel/checks/tool_qualification.py Outdated
Comment thread src/extensions/score_metamodel/checks/tool_qualification.py Outdated
Comment thread src/extensions/score_metamodel/checks/tool_qualification.py
Comment thread src/extensions/score_metamodel/checks/tool_qualification.py Outdated
Comment thread src/extensions/score_metamodel/checks/tool_qualification.py
Comment thread src/extensions/score_metamodel/checks/tool_qualification.py Outdated
Comment thread src/extensions/score_metamodel/checks/tool_qualification.py
Comment thread src/extensions/score_metamodel/metamodel.yaml
Comment thread src/needs_templates/tool_qualification_report.need
@AlexanderLanin

Copy link
Copy Markdown
Member Author

Source attribution:

The three tool use cases (Build/CI behavior, PR Review, and Derived-view) and malfunctions M1–M9 in docs/internals/requirements/tool_verification.rst were taken from docs/score_tools/tools_documentation/doc_as_code.rst at a6f67eebe401fd9920d7b7a739606a0f514d44e4 (Update docs-as-code classification (#3259)).

The source list-table was adapted into Sphinx-Needs tool_usecase and potential_tool_malfunction nodes, with the qualification links mapped to the current docs-as-code tool requirements.

@AlexanderLanin
AlexanderLanin requested a balanced review from Copilot September 25, 2026 18:09
@AlexanderLanin AlexanderLanin changed the title feat!!!: add SCORE Tool Management HowTo and example feat: add SCORE Tool Management HowTo and example Sep 25, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

Qualification evidence is not scoped to the evaluated tool version, and several incomplete or inconsistent report states can currently pass validation.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 1 High severity · 2 Medium severity

Open (3)
What changed in this PR

Adds an executable SCORE Tool Management workflow with graph-derived classification, qualification validation, generated evidence, and user guidance.

Changes:

  • Adds tool use-case and malfunction modeling with lifecycle checks.
  • Generates Tool Verification Report evidence views.
  • Adds documentation, examples, regression tests, and updated snapshots.
File Description
src/​tests/​docs_bzl/​scenarios/​subdirectory_bundle/​producer/​_expected/​needs_json/​needs.json Updates expected schema fields.
src/​tests/​docs_bzl/​scenarios/​subdirectory_bundle/​consumer/​_expected/​needs_json/​needs.json Updates expected schema fields.
src/​tests/​docs_bzl/​scenarios/​reference_integration/​score_platform/​_expected/​needs_json/​needs.json Updates expected schema fields.
src/​tests/​docs_bzl/​scenarios/​reference_integration/​modern_module/​docs/​components/​unlinked_component/​_expected/​needs_local.json Updates local schema snapshot.
src/​tests/​docs_bzl/​scenarios/​reference_integration/​modern_module/​_expected/​needs_json/​needs.json Updates expected schema fields.
src/​tests/​docs_bzl/​scenarios/​reference_integration/​legacy_module/​docs/​components/​component/​_expected/​needs_local.json Updates local schema snapshot.
src/​tests/​docs_bzl/​scenarios/​reference_integration/​legacy_module/​_expected/​needs_json/​needs.json Updates expected schema fields.
src/​tests/​docs_bzl/​scenarios/​reference_integration/​_expected/​needs_local.json Updates local schema snapshot.
src/​tests/​docs_bzl/​scenarios/​nested_bundles/​_expected/​needs_json/​needs.json Updates expected schema fields.
src/​tests/​docs_bzl/​scenarios/​data_files_runfiles/​_expected/​needs_json/​needs.json Updates expected schema fields.
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 documentation snapshot.
src/​needs_templates/​tool_qualification_report.need Generates evaluation and qualification views.
src/​extensions/​score_source_code_linker/​tests/​test_xml_parser.py Adds malfunction verification metadata.
src/​extensions/​score_source_code_linker/​tests/​test_testlink.py Adds malfunction verification metadata.
src/​extensions/​score_source_code_linker/​tests/​test_source_code_link_integration.py Traces integration coverage to malfunctions.
src/​extensions/​score_metrics/​tests/​test_traceability_metrics.py Extends qualification traceability metadata.
src/​extensions/​score_metamodel/​tests/​test_tool_qualification.py Tests workflow derivation and validation.
src/​extensions/​score_metamodel/​tests/​test_metamodel_load.py Tests new metamodel declarations.
src/​extensions/​score_metamodel/​tests/​test_metamodel__init__.py Aligns NeedItem test fixtures with link storage.
src/​extensions/​score_metamodel/​tests/​rst/​options/​test_doc_tool_attrs.rst Updates TVR attribute expectations.
src/​extensions/​score_metamodel/​tests/​rst/​graph/​test_tool_qualification.rst Adds conditional validation fixtures.
src/​extensions/​score_metamodel/​tests/​rst/​graph/​test_metamodel_graph.rst Adds nested malfunction coverage.
src/​extensions/​score_metamodel/​tests/​rst/​architecture/​architecture_tests.rst Adds qualification traceability metadata.
src/​extensions/​score_metamodel/​tests/​__init__.py Improves test NeedItem construction.
src/​extensions/​score_metamodel/​metamodel.yaml Defines workflow types, fields, and links.
src/​extensions/​score_metamodel/​checks/​tool_qualification.py Implements classification and qualification checks.
docs/​internals/​requirements/​tool_verification.rst Adds the example TVR.
docs/​internals/​requirements/​requirements.rst Changes TVR classification requirements to derivation.
docs/​internals/​requirements/​index.rst Registers the example report.
docs/​how-to/​perform_tool_verification.md Documents the complete workflow.
docs/​how-to/​index.rst Registers the new guide.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/extensions/score_metamodel/checks/tool_qualification.py
Comment thread docs/how-to/perform_tool_verification.md
Comment thread src/needs_templates/tool_qualification_report.need Outdated
@AlexanderLanin

Copy link
Copy Markdown
Member Author

This can be improved further... but we are pretty much gold plating now...

@aschemmel-tech aschemmel-tech left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

My comments resolved, Tool Report very much improved in terms of completeness and overview.

@MaximilianSoerenPollak MaximilianSoerenPollak left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

My comments were all addressed. Looks fine from my side as far as I see

@AlexanderLanin
AlexanderLanin dismissed a-zw’s stale review September 28, 2026 11:45

all resolved, answered and fixed

@AlexanderLanin
AlexanderLanin merged commit 2844685 into eclipse-score:main Sep 28, 2026
23 checks passed
@AlexanderLanin
AlexanderLanin deleted the tool-verification-report branch September 28, 2026 11:46
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.

6 participants