Skip to content

inspection record need type#661

Open
FScholPer wants to merge 1 commit into
mainfrom
inspection_needs
Open

inspection record need type#661
FScholPer wants to merge 1 commit into
mainfrom
inspection_needs

Conversation

@FScholPer

Copy link
Copy Markdown
Contributor

Relates to #611

Split out of #612 (inspection part). The verification-report part is in a separate PR.

📌 Description

Adds a machine-readable module inspection record need type to the metamodel.

  • metamodel.yaml: new mod_insp need type (prefix: mod_insp__) classifying an inspection by inspection_type and inspection_state, recording checklist_ref/reviewers and optional moderator/approver/findings/date attributes; links belongs_to a mod and inspects the inspected artifacts, with optional contains/evidence/approved_by/supported_by. Adds the evidence (evidence/evidence_for) and inspects (inspects/inspected_by) extra links it depends on.
  • requirements.rst: new "Verification Evidence" section with tool_req__docs_inspection_record_need, plus the Verif row in the requirements overview table.
  • Tests: rst/options/test_options_inspection_record.rst covering a valid record and an invalid inspection_state value.

🚨 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

Adds the mod_insp need type to the metamodel with evidence and inspects
extra links, documents the tool requirement, and adds option tests.

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

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: 07c3e490-fd40-45c3-8e7b-4f7c48f81c7b
Computing main repo mapping: 
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.796s
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 changed the title Add machine-readable module inspection record need type inspection record need type Jul 23, 2026

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

Some questions on the usage in the inline comments

# req-Id: tool_req__docs_common_attr_status
status: ^(valid|invalid)$
# req-Id: tool_req__docs_inspection_record_need
inspection_type: ^(requirements|architecture|implementation|traceability|safety_analysis|security_analysis|other)$

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.

there are only inspections of type "requirements|architecture|implementation"

# req-Id: tool_req__docs_inspection_record_need
inspection_type: ^(requirements|architecture|implementation|traceability|safety_analysis|security_analysis|other)$
inspection_state: ^(planned|in_review|rework_required|approved)$
checklist_ref: ^.*$

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.

in your example this links to a template (gd_temp), but why have this attribute? information can be derived already from "inspection_type"

checklist_ref: ^.*$
reviewers: ^.*$
optional_options:
checklist_type: ^(req|arc|impl|safety|security|custom)$

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.

somehow a duplicate of "inspection_type"


# Formal inspection evidence modeled as a first-class artifact.
# req-Id: tool_req__docs_inspection_record_need
mod_insp:

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.

I do not fully understand how this will be used. My assumption based on the example in eclipse-score/persistency#330 is that it is a part of the verification report but has one instance per each inspection evidence. E.g. in baselibs this would be about ten records for requirements inspections (one per avery component). Comments given based on this assumption.

status: ^(valid|invalid)$
# req-Id: tool_req__docs_inspection_record_need
inspection_type: ^(requirements|architecture|implementation|traceability|safety_analysis|security_analysis|other)$
inspection_state: ^(planned|in_review|rework_required|approved)$

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.

state "planned" is the same as having a checklist document in "draft" state, "in_review" would be as long as the PR to fill out the checklist is in draft/open, "rework_required" would mean checklist has a "NO", "approved" means all checkpoints are "YES". Expect this is filled out automatically?

approver: ^.*$
findings_total: ^[0-9]+$
findings_open: ^[0-9]+$
pr_link: ^https://github\.com/[^/]+/[^/]+/pull/\d+$

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.

Which PR? What is it needed for?

findings_total: ^[0-9]+$
findings_open: ^[0-9]+$
pr_link: ^https://github\.com/[^/]+/[^/]+/pull/\d+$
correction_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$

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.

is it really needed here? can be seen in checklist (linked in below "evidence")

findings_open: ^[0-9]+$
pr_link: ^https://github\.com/[^/]+/[^/]+/pull/\d+$
correction_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$
inspection_date: ^[0-9]{4}-[0-9]{2}-[0-9]{2}$

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.

what do you use this for? I do not think you can judge from the date if it is still valid.

inspects: ANY
optional_links:
# req-Id: tool_req__docs_inspection_record_need
contains: ANY

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.

"contains" makes no sense in inspection record (at least if it is the same usage as in verification report). Or do you want to pack inspection records in inspection records?

supported_by: role
tags:
- inspection
- verification_evidence

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.

it is not an evidence?

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.

2 participants