Implement SCORE Tool Management workflow - #831
AlexanderLanin wants to merge 1 commit into
Conversation
|
Documentation preview for this pull request is available at: |
| This report evaluates the Docs-as-Code toolchain as a qualified tool for | ||
| producing and verifying safety-relevant documentation. | ||
|
|
||
| .. tool-usecase:: Build and CI behavior |
There was a problem hiding this comment.
As the author of the doc_as_code.rst this is derived from, I wonder why there is only two use cases here?
For me, each malfunction is a separate use case and their distinct description is important. Also, reference to the process requirements are important. This is all lost here.
There was a problem hiding this comment.
POC scope has ended there :p
| :post_template: tool_qualification_report | ||
|
|
||
| This report evaluates the Docs-as-Code toolchain as a qualified tool for | ||
| producing and verifying safety-relevant documentation. |
There was a problem hiding this comment.
Security evaluation is missing but required by S-CORE process.
| :detection_sufficient: NO | ||
| :additional_safety_measure_required: YES | ||
| :safety_measure: Pull-request review checks changes to safety-critical links before merge. | ||
| :violates: tool_req__docs_common_attr_safety_link_check |
There was a problem hiding this comment.
No way that this single requirement is sufficient. I expect a list of ten or more requirements for this one. Similar for the other malfunctions.
There was a problem hiding this comment.
Note: dont review the content. this is a POC
2ca13d2 to
47270ce
Compare
431a148 to
272653e
Compare
Why
The previous PR described tool use cases and malfunctions as a documentation proof of concept, but it did not execute the SCORE Tool Management workflow. In particular, report ownership, conditional malfunction classification, derived safety/TCL results, lifecycle status, qualification completeness, and generated evidence views were not validated consistently. This made it possible for the written report, the graph, and the qualification result to diverge.
The PR now makes the Sphinx-Needs representation an executable model of the workflow while preserving the distinction between evaluation/classification and qualification.
What changed
Metamodel
tool_usecaseis the explicit usage-context element.tool_usecasehas explicit ownership by adoc_toolthroughbelongs_toand remains linked to itstool_reqneeds throughrealized_by.potential_tool_malfunctionrequiressafety_affected.detection_sufficientis conditional andsafety_measuresremains free text.Executable validation
detection_sufficient.safety_measures.detection_sufficient; meaningless values are rejected.tool_req.draftremains permissive, whileevaluated,qualified, andreleasedenforce the relevant workflow completeness.fully_verifiesfor every relevanttool_req. Partial verification alone is not sufficient.detection_sufficientor raise TCL from LOW to HIGH.Generated report
The qualification report template now follows:
It generates the evaluation table, derived safety/confidence summary, qualification matrix, and testcase evidence view from the structured graph.
Documentation and migration
perform_tool_verification.mdis aligned with the implemented workflow.classification.rstdocuments the evaluation model, conditional malfunction data, and derived result.qualification.rstdocuments qualification evidence, testcase interpretation, and lifecycle semantics.belongs_toownership.Regression coverage
The PR adds unit and RST/Sphinx integration coverage for conditional malfunction rules, ownership, graph-derived safety/TCL, LOW requirement targets, qualification evidence, status progression, mixed use cases, and the rule that qualification does not reclassify the tool.
Design decisions and migration
detection_sufficienton a non-safety malfunction is rejected as meaningless data.evaluatedstate can remain LOW until their qualification evidence is complete; no filename-specific migration exception was added.Validation
bazel test //...bazel run //:docs_checkbazel run //:docs