From 9e422f8425dba910c4b3fb94cb0d1d0132269dba Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Thu, 23 Apr 2026 07:56:35 +0000 Subject: [PATCH 01/15] Add Process Status Overview page with tooling columns --- process/conf.py | 15 + process/standards/process_reqs_list/index.rst | 12 + .../process_area_status_summary.rst | 1060 +++++++++++++++++ .../process_status_overview.rst | 589 +++++++++ .../process_reqs_list/tooling_definitions.rst | 92 ++ 5 files changed, 1768 insertions(+) create mode 100644 process/standards/process_reqs_list/process_area_status_summary.rst create mode 100644 process/standards/process_reqs_list/process_status_overview.rst create mode 100644 process/standards/process_reqs_list/tooling_definitions.rst diff --git a/process/conf.py b/process/conf.py index a5425b1780..a6babc9e07 100644 --- a/process/conf.py +++ b/process/conf.py @@ -35,5 +35,20 @@ html_static_path = ["_assets"] html_css_files = ["custom.css"] +# Hide the "On this page" secondary sidebar for wide-content pages +html_theme_options = { + "secondary_sidebar_items": { + "**": ["page-toc"], + "standards/process_reqs_list/process_area_status_summary": [], + "standards/process_reqs_list/process_status_overview": [], + } +} + # :need:`{title}` is used in the needs templates to display the title of the need needs_role_need_template = "{title}" + +# Make the process/ directory importable so that filter functions +# referenced via :filter-func: in sphinx-needs directives can be found. +import sys as _sys +import os as _os +_sys.path.insert(0, _os.path.dirname(_os.path.abspath(__file__))) diff --git a/process/standards/process_reqs_list/index.rst b/process/standards/process_reqs_list/index.rst index 652fa580c4..b2693cd769 100644 --- a/process/standards/process_reqs_list/index.rst +++ b/process/standards/process_reqs_list/index.rst @@ -26,6 +26,18 @@ All process requirements should be labelled with the priorization of automation - A label "done_automation" means nothing to do, because it already works. Note that in docs-as-code repository there are tool requirements linking to the process requirements with an "Implemented" attribute. - A label "prio_*_automation" means the prio 1, 2, ... labelled requirement shall be implemented in this order. Prio 1 is everything we need for the re-audit, prio 2 could be done manually as a fallback, prio 3 is nice to have ... +Status Summary by Process Area +****************************** + +For a dynamic overview of process requirement counts per process area and status, +see: + +.. toctree:: + :maxdepth: 1 + + process_area_status_summary + process_status_overview + .. needtable:: :style: table :types: gd_req diff --git a/process/standards/process_reqs_list/process_area_status_summary.rst b/process/standards/process_reqs_list/process_area_status_summary.rst new file mode 100644 index 0000000000..3c3af43f3f --- /dev/null +++ b/process/standards/process_reqs_list/process_area_status_summary.rst @@ -0,0 +1,1060 @@ +.. + # ******************************************************************************* + # Copyright (c) 2025 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. _process_req_area_status_summary: + +Process Requirement Status by Process Area +########################################## + +The table below summarizes all internal ``gd_req`` needs found in each process area. +The charts are calculated dynamically during the Sphinx build via sphinx-needs +filters. + +Color mapping: + +- Green: valid +- Gold: draft +- Red: invalid +- Gray: other + +.. list-table:: Process requirement status overview + :header-rows: 1 + :widths: 20 40 40 + + * - Process area + - Process req. status + - Referenced std_req status + * - Requirements Engineering + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags + - + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) + + * - Architecture Design + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags + - + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(architecture_design) + + * - Implementation + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags + - + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(implementation) + + * - Verification + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags + - + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(verification) + +Referenced std_req Needs in "Other" Category +********************************************* + +The following ``std_req`` needs are referenced via ``complies`` from process +requirements but carry none of the recognized tags (``ok``, ``recommendation``, +``open``, ``action``, ``deviation``, ``n/a``). +The actual tags of each need are shown in brackets. + +.. needlist:: + + RECOGNIZED = {"ok", "recommendation", "open", "action", "deviation", "n/a"} + needs_by_id = {n["id"]: n for n in needs} + + std_req_ids = set() + for need in needs: + if ( + need.get("type") == "gd_req" + and not need.get("is_external", False) + ): + for ref_id in need.get("complies", []): + if ref_id.startswith("std_req__iso26262__"): + std_req_ids.add(ref_id) + + results = [] + for sid in sorted(std_req_ids): + n = needs_by_id.get(sid) + if n and not (RECOGNIZED & set(n.get("tags", []))): + results.append(n) + +Work Products by Process Area +***************************** + +The table below lists the official work products defined per process area. + +.. list-table:: Work product overview by process area + :header-rows: 1 + :widths: 28 72 + + * - Process area + - Work products + * - Requirements Engineering + - + + - :need:`wp__requirements_stkh` + - :need:`wp__requirements_sw_platform_aou` + - :need:`wp__requirements_feat` + - :need:`wp__requirements_feat_aou` + - :need:`wp__requirements_comp` + - :need:`wp__requirements_comp_aou` + - :need:`wp__requirements_proc_tool` + - :need:`wp__requirements_inspect` + * - Architecture Design + - + + - :need:`wp__platform_arch` + - :need:`wp__feature_arch` + - :need:`wp__component_arch` + - :need:`wp__sw_arch_verification` + * - Implementation + - + + - :need:`wp__sw_development_plan` + - :need:`wp__sw_implementation` + - :need:`wp__sw_implementation_inspection` + * - Verification + - + + - :need:`wp__verification_plan` + - :need:`wp__verification_platform_int_test` + - :need:`wp__verification_platform_ver_report` + - :need:`wp__verification_feat_int_test` + - :need:`wp__verification_module_ver_report` + - :need:`wp__verification_comp_int_test` + - :need:`wp__verification_sw_unit_test` + +Relevant Requirements by Work Product +************************************* + +The table below derives relevant process requirements for each work product. +The derivation is based on the relation process requirement ``satisfies`` +workflow and workflow ``output`` work product. + +.. list-table:: Relevant process requirements by work product + :header-rows: 1 + :widths: 15 22 32 31 + + * - Process area + - Work product + - Relevant requirements + - Status distribution + * - Requirements Engineering + - :need:`wp__requirements_stkh` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_stkh" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_stkh_req' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_stkh_req' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_stkh_req' in satisfies + * - + - :need:`wp__requirements_sw_platform_aou` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_sw_platform_aou" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_stkh_req' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_stkh_req' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_stkh_req' in satisfies + * - + - :need:`wp__requirements_feat` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_feat" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_req' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_feat_req' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_feat_req' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_feat_req' in satisfies + * - + - :need:`wp__requirements_feat_aou` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_feat_aou" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_aou' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_feat_aou' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_feat_aou' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_feat_aou' in satisfies + * - + - :need:`wp__requirements_comp` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_comp" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_req' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_comp_req' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_comp_req' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_comp_req' in satisfies + * - + - :need:`wp__requirements_comp_aou` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_comp_aou" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_aou' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_comp_aou' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_comp_aou' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_comp_aou' in satisfies + * - + - :need:`wp__requirements_proc_tool` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_proc_tool" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_proc_tool' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_proc_tool' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_proc_tool' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_proc_tool' in satisfies + * - + - :need:`wp__requirements_inspect` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_inspect" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__monitor_verify_requirements' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__monitor_verify_requirements' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__monitor_verify_requirements' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__monitor_verify_requirements' in satisfies + * - Architecture Design + - :need:`wp__platform_arch` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "architecture_design" in workflow["tags"] and "wp__platform_arch" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_platarch' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__cr_mt_platarch' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__cr_mt_platarch' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__cr_mt_platarch' in satisfies + * - + - :need:`wp__feature_arch` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "architecture_design" in workflow["tags"] and "wp__feature_arch" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_featarch' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__cr_mt_featarch' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__cr_mt_featarch' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__cr_mt_featarch' in satisfies + * - + - :need:`wp__component_arch` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "architecture_design" in workflow["tags"] and "wp__component_arch" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_comparch' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__cr_mt_comparch' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__cr_mt_comparch' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__cr_mt_comparch' in satisfies + * - + - :need:`wp__sw_arch_verification` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "architecture_design" in workflow["tags"] and "wp__sw_arch_verification" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__mr_vy_arch' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__mr_vy_arch' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__mr_vy_arch' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__mr_vy_arch' in satisfies + * - Implementation + - :need:`wp__sw_development_plan` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "implementation" in workflow["tags"] and "wp__sw_development_plan" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_development_plan' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__sw_development_plan' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__sw_development_plan' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__sw_development_plan' in satisfies + * - + - :need:`wp__sw_implementation` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "implementation" in workflow["tags"] and "wp__sw_implementation" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_detailed_design' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__sw_detailed_design' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__sw_detailed_design' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__sw_detailed_design' in satisfies + * - + - :need:`wp__sw_implementation_inspection` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "implementation" in workflow["tags"] and "wp__sw_implementation_inspection" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_verify_implementation' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__sw_verify_implementation' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__sw_verify_implementation' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__sw_verify_implementation' in satisfies + * - Verification + - :need:`wp__verification_comp_int_test` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_comp_int_test" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_comp_int_test' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__verification_comp_int_test' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__verification_comp_int_test' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__verification_comp_int_test' in satisfies + * - + - :need:`wp__verification_feat_int_test` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_feat_int_test" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_feat_int_test' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__verification_feat_int_test' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__verification_feat_int_test' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__verification_feat_int_test' in satisfies + * - + - :need:`wp__verification_platform_int_test` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_platform_int_test" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_int_test' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__verification_platform_int_test' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__verification_platform_int_test' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__verification_platform_int_test' in satisfies + * - + - :need:`wp__verification_plan` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_plan" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies) + type == 'gd_req' and is_external == False and status == 'draft' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies) + type == 'gd_req' and is_external == False and status == 'invalid' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies) + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies) + * - + - :need:`wp__verification_module_ver_report` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_module_ver_report" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_mod_ver_report' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__verification_mod_ver_report' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__verification_mod_ver_report' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__verification_mod_ver_report' in satisfies + * - + - :need:`wp__verification_platform_ver_report` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_platform_ver_report" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_ver_report' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__verification_platform_ver_report' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__verification_platform_ver_report' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__verification_platform_ver_report' in satisfies + * - + - :need:`wp__verification_sw_unit_test` + - + + .. needlist:: + + results = [] + requirement_ids = set() + + for requirement in needs.filter_types(["gd_req"]): + if requirement["is_external"] is False: + for workflow_id in requirement["satisfies"]: + workflow = needs.get_need(workflow_id) + if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_sw_unit_test" in workflow["output"]: + if requirement["id"] not in requirement_ids: + requirement_ids.add(requirement["id"]) + results.append(requirement) + break + + results = sorted(results, key=lambda requirement: requirement["title"]) + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_unit_test' in satisfies + type == 'gd_req' and is_external == False and status == 'draft' and 'wf__verification_unit_test' in satisfies + type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__verification_unit_test' in satisfies + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__verification_unit_test' in satisfies + +Work Product Requirement Completion Status +****************************************** + +The table below shows for each work product the completion status of its +relevant process requirements. **Valid** (green) means all requirements are +valid; **Draft** (yellow) means at least one requirement is not yet valid. +The number shows valid / total requirements. + +.. list-table:: Work product requirement completion status + :header-rows: 1 + :widths: 15 35 50 + + * - Process area + - Work product + - Status + * - Requirements Engineering + - :need:`wp__requirements_stkh` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` + * - + - :need:`wp__requirements_sw_platform_aou` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` + * - + - :need:`wp__requirements_feat` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_req' in satisfies` + * - + - :need:`wp__requirements_feat_aou` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_aou' in satisfies` + * - + - :need:`wp__requirements_comp` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_req' in satisfies` + * - + - :need:`wp__requirements_comp_aou` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_aou' in satisfies` + * - + - :need:`wp__requirements_proc_tool` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_proc_tool' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_proc_tool' in satisfies` + * - + - :need:`wp__requirements_inspect` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__monitor_verify_requirements' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__monitor_verify_requirements' in satisfies` + * - Architecture Design + - :need:`wp__platform_arch` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_platarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_platarch' in satisfies` + * - + - :need:`wp__feature_arch` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_featarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_featarch' in satisfies` + * - + - :need:`wp__component_arch` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_comparch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_comparch' in satisfies` + * - + - :need:`wp__sw_arch_verification` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__mr_vy_arch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__mr_vy_arch' in satisfies` + * - Implementation + - :need:`wp__sw_development_plan` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_development_plan' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_development_plan' in satisfies` + * - + - :need:`wp__sw_implementation` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_detailed_design' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_detailed_design' in satisfies` + * - + - :need:`wp__sw_implementation_inspection` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_verify_implementation' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_verify_implementation' in satisfies` + * - Verification + - :need:`wp__verification_plan` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` / :need_count:`type == 'gd_req' and is_external == False and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` + * - + - :need:`wp__verification_platform_int_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_int_test' in satisfies` + * - + - :need:`wp__verification_platform_ver_report` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_ver_report' in satisfies` + * - + - :need:`wp__verification_feat_int_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_feat_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_feat_int_test' in satisfies` + * - + - :need:`wp__verification_module_ver_report` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_mod_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_mod_ver_report' in satisfies` + * - + - :need:`wp__verification_comp_int_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_comp_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_comp_int_test' in satisfies` + * - + - :need:`wp__verification_sw_unit_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_unit_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_unit_test' in satisfies` + +.. raw:: html + + + diff --git a/process/standards/process_reqs_list/process_status_overview.rst b/process/standards/process_reqs_list/process_status_overview.rst new file mode 100644 index 0000000000..d84d009918 --- /dev/null +++ b/process/standards/process_reqs_list/process_status_overview.rst @@ -0,0 +1,589 @@ +.. + # ******************************************************************************* + # Copyright (c) 2025 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. include:: tooling_definitions.rst + +.. _process_status_overview: + +Process Status Overview +####################### + +Combined Process Area and Work Product Status Overview +****************************************************** + +The table below combines process requirement status, ISO 26262 std_req +compliance status, and work product completion status in a single overview. +For each process area the pie charts appear on the first work product row; +subsequent rows carry only the work product and its completion badge. + +.. list-table:: Combined process area and work product status overview + :header-rows: 1 + :widths: 10 13 13 20 7 15 11 11 + :class: combined-status-table + + * - Process area + - Process req. status + - ISO 26262 std_req status + - Work product + - WP status + - Req. verification status + - Tooling + - Tooling Status + * - Requirements Engineering + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) + + - :need:`wp__requirements_stkh` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_stkh_req) + - |tooling_name_wp__requirements_stkh| + - |tooling_status_wp__requirements_stkh| + * - + - + - + - :need:`wp__requirements_sw_platform_aou` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_stkh_req) + - |tooling_name_wp__requirements_sw_platform_aou| + - |tooling_status_wp__requirements_sw_platform_aou| + * - + - + - + - :need:`wp__requirements_feat` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_req' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_feat_req) + - |tooling_name_wp__requirements_feat| + - |tooling_status_wp__requirements_feat| + * - + - + - + - :need:`wp__requirements_feat_aou` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_aou' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_feat_aou) + - |tooling_name_wp__requirements_feat_aou| + - |tooling_status_wp__requirements_feat_aou| + * - + - + - + - :need:`wp__requirements_comp` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_req' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_comp_req) + - |tooling_name_wp__requirements_comp| + - |tooling_status_wp__requirements_comp| + * - + - + - + - :need:`wp__requirements_comp_aou` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_aou' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_comp_aou) + - |tooling_name_wp__requirements_comp_aou| + - |tooling_status_wp__requirements_comp_aou| + * - + - + - + - :need:`wp__requirements_proc_tool` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_proc_tool' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_proc_tool' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_proc_tool) + - |tooling_name_wp__requirements_proc_tool| + - |tooling_status_wp__requirements_proc_tool| + * - + - + - + - :need:`wp__requirements_inspect` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__monitor_verify_requirements' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__monitor_verify_requirements' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__monitor_verify_requirements) + - |tooling_name_wp__requirements_inspect| + - |tooling_status_wp__requirements_inspect| + * - Architecture Design + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(architecture_design) + + - :need:`wp__platform_arch` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_platarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_platarch' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__cr_mt_platarch) + - |tooling_name_wp__platform_arch| + - |tooling_status_wp__platform_arch| + * - + - + - + - :need:`wp__feature_arch` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_featarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_featarch' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__cr_mt_featarch) + - |tooling_name_wp__feature_arch| + - |tooling_status_wp__feature_arch| + * - + - + - + - :need:`wp__component_arch` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_comparch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_comparch' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__cr_mt_comparch) + - |tooling_name_wp__component_arch| + - |tooling_status_wp__component_arch| + * - + - + - + - :need:`wp__sw_arch_verification` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__mr_vy_arch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__mr_vy_arch' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__mr_vy_arch) + - |tooling_name_wp__sw_arch_verification| + - |tooling_status_wp__sw_arch_verification| + * - Implementation + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(implementation) + + - :need:`wp__sw_development_plan` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_development_plan' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_development_plan' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__sw_development_plan) + - |tooling_name_wp__sw_development_plan| + - |tooling_status_wp__sw_development_plan| + * - + - + - + - :need:`wp__sw_implementation` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_detailed_design' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_detailed_design' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__sw_detailed_design) + - |tooling_name_wp__sw_implementation| + - |tooling_status_wp__sw_implementation| + * - + - + - + - :need:`wp__sw_implementation_inspection` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_verify_implementation' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_verify_implementation' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__sw_verify_implementation) + - |tooling_name_wp__sw_implementation_inspection| + - |tooling_status_wp__sw_implementation_inspection| + * - Verification + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(verification) + + - :need:`wp__verification_plan` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` / :need_count:`type == 'gd_req' and is_external == False and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_plan|wf__verification_plan_maintain) + - |tooling_name_wp__verification_plan| + - |tooling_status_wp__verification_plan| + * - + - + - + - :need:`wp__verification_platform_int_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_int_test' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_platform_int_test) + - |tooling_name_wp__verification_platform_int_test| + - |tooling_status_wp__verification_platform_int_test| + * - + - + - + - :need:`wp__verification_platform_ver_report` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_ver_report' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_platform_ver_report) + - |tooling_name_wp__verification_platform_ver_report| + - |tooling_status_wp__verification_platform_ver_report| + * - + - + - + - :need:`wp__verification_feat_int_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_feat_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_feat_int_test' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_feat_int_test) + - |tooling_name_wp__verification_feat_int_test| + - |tooling_status_wp__verification_feat_int_test| + * - + - + - + - :need:`wp__verification_module_ver_report` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_mod_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_mod_ver_report' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_mod_ver_report) + - |tooling_name_wp__verification_module_ver_report| + - |tooling_status_wp__verification_module_ver_report| + * - + - + - + - :need:`wp__verification_comp_int_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_comp_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_comp_int_test' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_comp_int_test) + - |tooling_name_wp__verification_comp_int_test| + - |tooling_status_wp__verification_comp_int_test| + * - + - + - + - :need:`wp__verification_sw_unit_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_unit_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_unit_test' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_unit_test) + - |tooling_name_wp__verification_sw_unit_test| + - |tooling_status_wp__verification_sw_unit_test| + +.. raw:: html + + diff --git a/process/standards/process_reqs_list/tooling_definitions.rst b/process/standards/process_reqs_list/tooling_definitions.rst new file mode 100644 index 0000000000..7f411ab1f2 --- /dev/null +++ b/process/standards/process_reqs_list/tooling_definitions.rst @@ -0,0 +1,92 @@ +.. + # ******************************************************************************* + # Copyright (c) 2025 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. Tooling definitions per work product. +.. Edit this file to fill in the tooling columns in the Process Status Overview table. +.. +.. Two substitutions per work product: +.. |tooling_name_wp__| — tool name (text, inline code ``tool``, link `Name `_) +.. |tooling_status_wp__| — status of the tooling (e.g. available, planned, n/a) +.. +.. Inline markup only (no block-level directives, no bullet lists). + +.. Requirements Engineering +.. |tooling_name_wp__requirements_stkh| replace:: sphinx-needs +.. |tooling_status_wp__requirements_stkh| replace:: available + +.. |tooling_name_wp__requirements_sw_platform_aou| replace:: sphinx-needs +.. |tooling_status_wp__requirements_sw_platform_aou| replace:: available + +.. |tooling_name_wp__requirements_feat| replace:: TBDsklgjlksgj +.. |tooling_status_wp__requirements_feat| replace:: ttttt + +.. |tooling_name_wp__requirements_feat_aou| replace:: TBD +.. |tooling_status_wp__requirements_feat_aou| replace:: TBD + +.. |tooling_name_wp__requirements_comp| replace:: TBD +.. |tooling_status_wp__requirements_comp| replace:: TBD + +.. |tooling_name_wp__requirements_comp_aou| replace:: TBD +.. |tooling_status_wp__requirements_comp_aou| replace:: TBD + +.. |tooling_name_wp__requirements_proc_tool| replace:: TBD +.. |tooling_status_wp__requirements_proc_tool| replace:: TBD + +.. |tooling_name_wp__requirements_inspect| replace:: TBD +.. |tooling_status_wp__requirements_inspect| replace:: TBD + +.. Architecture Design +.. |tooling_name_wp__platform_arch| replace:: TBD +.. |tooling_status_wp__platform_arch| replace:: TBD + +.. |tooling_name_wp__feature_arch| replace:: TBD +.. |tooling_status_wp__feature_arch| replace:: TBD + +.. |tooling_name_wp__component_arch| replace:: TBD +.. |tooling_status_wp__component_arch| replace:: TBD + +.. |tooling_name_wp__sw_arch_verification| replace:: TBD +.. |tooling_status_wp__sw_arch_verification| replace:: TBD + +.. Implementation +.. |tooling_name_wp__sw_development_plan| replace:: TBD +.. |tooling_status_wp__sw_development_plan| replace:: TBD + +.. |tooling_name_wp__sw_implementation| replace:: TBD +.. |tooling_status_wp__sw_implementation| replace:: TBD + +.. |tooling_name_wp__sw_implementation_inspection| replace:: TBD +.. |tooling_status_wp__sw_implementation_inspection| replace:: TBD + +.. Verification +.. |tooling_name_wp__verification_plan| replace:: TBD +.. |tooling_status_wp__verification_plan| replace:: TBD + +.. |tooling_name_wp__verification_platform_int_test| replace:: TBD +.. |tooling_status_wp__verification_platform_int_test| replace:: TBD + +.. |tooling_name_wp__verification_platform_ver_report| replace:: TBD +.. |tooling_status_wp__verification_platform_ver_report| replace:: TBD + +.. |tooling_name_wp__verification_feat_int_test| replace:: TBD +.. |tooling_status_wp__verification_feat_int_test| replace:: TBD + +.. |tooling_name_wp__verification_module_ver_report| replace:: TBD +.. |tooling_status_wp__verification_module_ver_report| replace:: TBD + +.. |tooling_name_wp__verification_comp_int_test| replace:: TBD +.. |tooling_status_wp__verification_comp_int_test| replace:: TBD + +.. |tooling_name_wp__verification_sw_unit_test| replace:: TBD +.. |tooling_status_wp__verification_sw_unit_test| replace:: TBD From 8805adaae5c9a55a200df73e88707bde039ecec0 Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Thu, 23 Apr 2026 08:04:30 +0000 Subject: [PATCH 02/15] Split process status overview into three separate table files --- .../process_area_overview_table.rst | 97 +++ .../process_status_overview.rst | 571 +----------------- .../process_reqs_list/tooling_table.rst | 115 ++++ .../process_reqs_list/wp_status_table.rst | 313 ++++++++++ 4 files changed, 528 insertions(+), 568 deletions(-) create mode 100644 process/standards/process_reqs_list/process_area_overview_table.rst create mode 100644 process/standards/process_reqs_list/tooling_table.rst create mode 100644 process/standards/process_reqs_list/wp_status_table.rst diff --git a/process/standards/process_reqs_list/process_area_overview_table.rst b/process/standards/process_reqs_list/process_area_overview_table.rst new file mode 100644 index 0000000000..1e966a8e26 --- /dev/null +++ b/process/standards/process_reqs_list/process_area_overview_table.rst @@ -0,0 +1,97 @@ +.. + # ******************************************************************************* + # Copyright (c) 2025 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +Process Area Overview +********************* + +The table below shows process requirement status and ISO 26262 compliance per process area. + +.. list-table:: Process area overview + :header-rows: 1 + :widths: 20 40 40 + + * - Process area + - Process req. status + - ISO 26262 std_req status + * - Requirements Engineering + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags + - + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) + + * - Architecture Design + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags + - + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(architecture_design) + + * - Implementation + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags + - + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(implementation) + + * - Verification + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags + - + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(verification) diff --git a/process/standards/process_reqs_list/process_status_overview.rst b/process/standards/process_reqs_list/process_status_overview.rst index d84d009918..34935588b0 100644 --- a/process/standards/process_reqs_list/process_status_overview.rst +++ b/process/standards/process_reqs_list/process_status_overview.rst @@ -12,578 +12,13 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* -.. include:: tooling_definitions.rst - .. _process_status_overview: Process Status Overview ####################### -Combined Process Area and Work Product Status Overview -****************************************************** - -The table below combines process requirement status, ISO 26262 std_req -compliance status, and work product completion status in a single overview. -For each process area the pie charts appear on the first work product row; -subsequent rows carry only the work product and its completion badge. - -.. list-table:: Combined process area and work product status overview - :header-rows: 1 - :widths: 10 13 13 20 7 15 11 11 - :class: combined-status-table - - * - Process area - - Process req. status - - ISO 26262 std_req status - - Work product - - WP status - - Req. verification status - - Tooling - - Tooling Status - * - Requirements Engineering - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) - - - :need:`wp__requirements_stkh` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_stkh_req) - - |tooling_name_wp__requirements_stkh| - - |tooling_status_wp__requirements_stkh| - * - - - - - - - :need:`wp__requirements_sw_platform_aou` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_stkh_req) - - |tooling_name_wp__requirements_sw_platform_aou| - - |tooling_status_wp__requirements_sw_platform_aou| - * - - - - - - - :need:`wp__requirements_feat` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_req' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_feat_req) - - |tooling_name_wp__requirements_feat| - - |tooling_status_wp__requirements_feat| - * - - - - - - - :need:`wp__requirements_feat_aou` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_aou' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_feat_aou) - - |tooling_name_wp__requirements_feat_aou| - - |tooling_status_wp__requirements_feat_aou| - * - - - - - - - :need:`wp__requirements_comp` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_req' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_comp_req) - - |tooling_name_wp__requirements_comp| - - |tooling_status_wp__requirements_comp| - * - - - - - - - :need:`wp__requirements_comp_aou` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_aou' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_comp_aou) - - |tooling_name_wp__requirements_comp_aou| - - |tooling_status_wp__requirements_comp_aou| - * - - - - - - - :need:`wp__requirements_proc_tool` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_proc_tool' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_proc_tool' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_proc_tool) - - |tooling_name_wp__requirements_proc_tool| - - |tooling_status_wp__requirements_proc_tool| - * - - - - - - - :need:`wp__requirements_inspect` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__monitor_verify_requirements' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__monitor_verify_requirements' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__monitor_verify_requirements) - - |tooling_name_wp__requirements_inspect| - - |tooling_status_wp__requirements_inspect| - * - Architecture Design - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(architecture_design) - - - :need:`wp__platform_arch` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_platarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_platarch' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__cr_mt_platarch) - - |tooling_name_wp__platform_arch| - - |tooling_status_wp__platform_arch| - * - - - - - - - :need:`wp__feature_arch` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_featarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_featarch' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__cr_mt_featarch) - - |tooling_name_wp__feature_arch| - - |tooling_status_wp__feature_arch| - * - - - - - - - :need:`wp__component_arch` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_comparch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_comparch' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__cr_mt_comparch) - - |tooling_name_wp__component_arch| - - |tooling_status_wp__component_arch| - * - - - - - - - :need:`wp__sw_arch_verification` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__mr_vy_arch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__mr_vy_arch' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__mr_vy_arch) - - |tooling_name_wp__sw_arch_verification| - - |tooling_status_wp__sw_arch_verification| - * - Implementation - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(implementation) - - - :need:`wp__sw_development_plan` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_development_plan' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_development_plan' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__sw_development_plan) - - |tooling_name_wp__sw_development_plan| - - |tooling_status_wp__sw_development_plan| - * - - - - - - - :need:`wp__sw_implementation` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_detailed_design' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_detailed_design' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__sw_detailed_design) - - |tooling_name_wp__sw_implementation| - - |tooling_status_wp__sw_implementation| - * - - - - - - - :need:`wp__sw_implementation_inspection` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_verify_implementation' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_verify_implementation' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__sw_verify_implementation) - - |tooling_name_wp__sw_implementation_inspection| - - |tooling_status_wp__sw_implementation_inspection| - * - Verification - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(verification) - - - :need:`wp__verification_plan` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` / :need_count:`type == 'gd_req' and is_external == False and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_plan|wf__verification_plan_maintain) - - |tooling_name_wp__verification_plan| - - |tooling_status_wp__verification_plan| - * - - - - - - - :need:`wp__verification_platform_int_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_int_test' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_platform_int_test) - - |tooling_name_wp__verification_platform_int_test| - - |tooling_status_wp__verification_platform_int_test| - * - - - - - - - :need:`wp__verification_platform_ver_report` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_ver_report' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_platform_ver_report) - - |tooling_name_wp__verification_platform_ver_report| - - |tooling_status_wp__verification_platform_ver_report| - * - - - - - - - :need:`wp__verification_feat_int_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_feat_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_feat_int_test' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_feat_int_test) - - |tooling_name_wp__verification_feat_int_test| - - |tooling_status_wp__verification_feat_int_test| - * - - - - - - - :need:`wp__verification_module_ver_report` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_mod_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_mod_ver_report' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_mod_ver_report) - - |tooling_name_wp__verification_module_ver_report| - - |tooling_status_wp__verification_module_ver_report| - * - - - - - - - :need:`wp__verification_comp_int_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_comp_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_comp_int_test' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_comp_int_test) - - |tooling_name_wp__verification_comp_int_test| - - |tooling_status_wp__verification_comp_int_test| - * - - - - - - - :need:`wp__verification_sw_unit_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_unit_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_unit_test' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_unit_test) - - |tooling_name_wp__verification_sw_unit_test| - - |tooling_status_wp__verification_sw_unit_test| +.. include:: process_area_overview_table.rst -.. raw:: html +.. include:: wp_status_table.rst - +.. include:: tooling_table.rst diff --git a/process/standards/process_reqs_list/tooling_table.rst b/process/standards/process_reqs_list/tooling_table.rst new file mode 100644 index 0000000000..8ca97c423d --- /dev/null +++ b/process/standards/process_reqs_list/tooling_table.rst @@ -0,0 +1,115 @@ +.. + # ******************************************************************************* + # Copyright (c) 2025 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +Tooling Overview +**************** + +Edit this table to define the tooling used per work product and its current status. + +.. list-table:: Tooling overview per work product + :header-rows: 1 + :widths: 20 25 30 25 + + * - Process area + - Work product + - Tooling + - Tooling Status + * - Requirements Engineering + - :need:`wp__requirements_stkh` + - sphinx-needs + - available + * - + - :need:`wp__requirements_sw_platform_aou` + - sphinx-needs + - available + * - + - :need:`wp__requirements_feat` + - TBDsklgjlksgj + - ttttt + * - + - :need:`wp__requirements_feat_aou` + - TBD + - TBD + * - + - :need:`wp__requirements_comp` + - TBD + - TBD + * - + - :need:`wp__requirements_comp_aou` + - TBD + - TBD + * - + - :need:`wp__requirements_proc_tool` + - TBD + - TBD + * - + - :need:`wp__requirements_inspect` + - TBD + - TBD + * - Architecture Design + - :need:`wp__platform_arch` + - TBD + - TBD + * - + - :need:`wp__feature_arch` + - TBD + - TBD + * - + - :need:`wp__component_arch` + - TBD + - TBD + * - + - :need:`wp__sw_arch_verification` + - TBD + - TBD + * - Implementation + - :need:`wp__sw_development_plan` + - TBD + - TBD + * - + - :need:`wp__sw_implementation` + - TBD + - TBD + * - + - :need:`wp__sw_implementation_inspection` + - TBD + - TBD + * - Verification + - :need:`wp__verification_plan` + - TBD + - TBD + * - + - :need:`wp__verification_platform_int_test` + - TBD + - TBD + * - + - :need:`wp__verification_platform_ver_report` + - TBD + - TBD + * - + - :need:`wp__verification_feat_int_test` + - TBD + - TBD + * - + - :need:`wp__verification_module_ver_report` + - TBD + - TBD + * - + - :need:`wp__verification_comp_int_test` + - TBD + - TBD + * - + - :need:`wp__verification_sw_unit_test` + - TBD + - TBD diff --git a/process/standards/process_reqs_list/wp_status_table.rst b/process/standards/process_reqs_list/wp_status_table.rst new file mode 100644 index 0000000000..d6b0643f32 --- /dev/null +++ b/process/standards/process_reqs_list/wp_status_table.rst @@ -0,0 +1,313 @@ +.. + # ******************************************************************************* + # Copyright (c) 2025 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +Work Product Process Overview +***************************** + +The table below shows work product completion status and requirement verification status. + +.. list-table:: Work product process overview + :header-rows: 1 + :widths: 20 25 15 40 + + * - Process area + - Work product + - WP status + - Req. verification status + * - Requirements Engineering + - :need:`wp__requirements_stkh` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_stkh_req) + * - + - :need:`wp__requirements_sw_platform_aou` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_stkh_req) + * - + - :need:`wp__requirements_feat` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_req' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_feat_req) + * - + - :need:`wp__requirements_feat_aou` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_aou' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_feat_aou) + * - + - :need:`wp__requirements_comp` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_req' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_comp_req) + * - + - :need:`wp__requirements_comp_aou` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_aou' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_comp_aou) + * - + - :need:`wp__requirements_proc_tool` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_proc_tool' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_proc_tool' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_proc_tool) + * - + - :need:`wp__requirements_inspect` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__monitor_verify_requirements' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__monitor_verify_requirements' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__monitor_verify_requirements) + * - Architecture Design + - :need:`wp__platform_arch` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_platarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_platarch' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__cr_mt_platarch) + * - + - :need:`wp__feature_arch` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_featarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_featarch' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__cr_mt_featarch) + * - + - :need:`wp__component_arch` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_comparch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_comparch' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__cr_mt_comparch) + * - + - :need:`wp__sw_arch_verification` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__mr_vy_arch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__mr_vy_arch' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__mr_vy_arch) + * - Implementation + - :need:`wp__sw_development_plan` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_development_plan' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_development_plan' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__sw_development_plan) + * - + - :need:`wp__sw_implementation` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_detailed_design' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_detailed_design' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__sw_detailed_design) + * - + - :need:`wp__sw_implementation_inspection` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_verify_implementation' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_verify_implementation' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__sw_verify_implementation) + * - Verification + - :need:`wp__verification_plan` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` / :need_count:`type == 'gd_req' and is_external == False and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_plan|wf__verification_plan_maintain) + * - + - :need:`wp__verification_platform_int_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_int_test' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_platform_int_test) + * - + - :need:`wp__verification_platform_ver_report` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_ver_report' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_platform_ver_report) + * - + - :need:`wp__verification_feat_int_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_feat_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_feat_int_test' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_feat_int_test) + * - + - :need:`wp__verification_module_ver_report` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_mod_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_mod_ver_report' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_mod_ver_report) + * - + - :need:`wp__verification_comp_int_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_comp_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_comp_int_test' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_comp_int_test) + * - + - :need:`wp__verification_sw_unit_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_unit_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_unit_test' in satisfies` + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_unit_test) From 13687dc0acbd0e988b3aebfe0d43b1a1810cffe2 Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Thu, 23 Apr 2026 08:08:27 +0000 Subject: [PATCH 03/15] Restore single combined table; tooling columns via tooling_definitions.rst substitutions --- .../process_status_overview.rst | 564 +++++++++++++++++- 1 file changed, 561 insertions(+), 3 deletions(-) diff --git a/process/standards/process_reqs_list/process_status_overview.rst b/process/standards/process_reqs_list/process_status_overview.rst index 34935588b0..27b360d596 100644 --- a/process/standards/process_reqs_list/process_status_overview.rst +++ b/process/standards/process_reqs_list/process_status_overview.rst @@ -12,13 +12,571 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* +.. include:: tooling_definitions.rst + .. _process_status_overview: Process Status Overview ####################### -.. include:: process_area_overview_table.rst +Combined Process Area and Work Product Status Overview +****************************************************** + +The table below combines process requirement status, ISO 26262 std_req +compliance status, work product completion status, and tooling in a single overview. +For each process area the pie charts appear on the first work product row; +subsequent rows carry only the work product and its completion badge. + +.. list-table:: Combined process area and work product status overview + :header-rows: 1 + :widths: 10 13 13 20 7 15 11 11 + :class: combined-status-table + + * - Process area + - Process req. status + - ISO 26262 std_req status + - Work product + - WP status + - Req. verification status + - Tooling + - Tooling Status + * - Requirements Engineering + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) + + - :need:`wp__requirements_stkh` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_stkh_req) + - |tooling_name_wp__requirements_stkh| + - |tooling_status_wp__requirements_stkh| + * - + - + - + - :need:`wp__requirements_sw_platform_aou` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_stkh_req) + - |tooling_name_wp__requirements_sw_platform_aou| + - |tooling_status_wp__requirements_sw_platform_aou| + * - + - + - + - :need:`wp__requirements_feat` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_req' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_feat_req) + - |tooling_name_wp__requirements_feat| + - |tooling_status_wp__requirements_feat| + * - + - + - + - :need:`wp__requirements_feat_aou` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_aou' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_feat_aou) + - |tooling_name_wp__requirements_feat_aou| + - |tooling_status_wp__requirements_feat_aou| + * - + - + - + - :need:`wp__requirements_comp` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_req' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_comp_req) + - |tooling_name_wp__requirements_comp| + - |tooling_status_wp__requirements_comp| + * - + - + - + - :need:`wp__requirements_comp_aou` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_aou' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_comp_aou) + - |tooling_name_wp__requirements_comp_aou| + - |tooling_status_wp__requirements_comp_aou| + * - + - + - + - :need:`wp__requirements_proc_tool` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_proc_tool' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_proc_tool' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__req_proc_tool) + - |tooling_name_wp__requirements_proc_tool| + - |tooling_status_wp__requirements_proc_tool| + * - + - + - + - :need:`wp__requirements_inspect` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__monitor_verify_requirements' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__monitor_verify_requirements' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__monitor_verify_requirements) + - |tooling_name_wp__requirements_inspect| + - |tooling_status_wp__requirements_inspect| + * - Architecture Design + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(architecture_design) + + - :need:`wp__platform_arch` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_platarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_platarch' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__cr_mt_platarch) + - |tooling_name_wp__platform_arch| + - |tooling_status_wp__platform_arch| + * - + - + - + - :need:`wp__feature_arch` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_featarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_featarch' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__cr_mt_featarch) + - |tooling_name_wp__feature_arch| + - |tooling_status_wp__feature_arch| + * - + - + - + - :need:`wp__component_arch` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_comparch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_comparch' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__cr_mt_comparch) + - |tooling_name_wp__component_arch| + - |tooling_status_wp__component_arch| + * - + - + - + - :need:`wp__sw_arch_verification` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__mr_vy_arch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__mr_vy_arch' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__mr_vy_arch) + - |tooling_name_wp__sw_arch_verification| + - |tooling_status_wp__sw_arch_verification| + * - Implementation + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(implementation) + + - :need:`wp__sw_development_plan` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_development_plan' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_development_plan' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__sw_development_plan) + - |tooling_name_wp__sw_development_plan| + - |tooling_status_wp__sw_development_plan| + * - + - + - + - :need:`wp__sw_implementation` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_detailed_design' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_detailed_design' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__sw_detailed_design) + - |tooling_name_wp__sw_implementation| + - |tooling_status_wp__sw_implementation| + * - + - + - + - :need:`wp__sw_implementation_inspection` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_verify_implementation' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_verify_implementation' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__sw_verify_implementation) + - |tooling_name_wp__sw_implementation_inspection| + - |tooling_status_wp__sw_implementation_inspection| + * - Verification + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(verification) + + - :need:`wp__verification_plan` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` / :need_count:`type == 'gd_req' and is_external == False and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_plan|wf__verification_plan_maintain) + - |tooling_name_wp__verification_plan| + - |tooling_status_wp__verification_plan| + * - + - + - + - :need:`wp__verification_platform_int_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_int_test' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_platform_int_test) + - |tooling_name_wp__verification_platform_int_test| + - |tooling_status_wp__verification_platform_int_test| + * - + - + - + - :need:`wp__verification_platform_ver_report` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_ver_report' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_platform_ver_report) + - |tooling_name_wp__verification_platform_ver_report| + - |tooling_status_wp__verification_platform_ver_report| + * - + - + - + - :need:`wp__verification_feat_int_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_feat_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_feat_int_test' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_feat_int_test) + - |tooling_name_wp__verification_feat_int_test| + - |tooling_status_wp__verification_feat_int_test| + * - + - + - + - :need:`wp__verification_module_ver_report` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_mod_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_mod_ver_report' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_mod_ver_report) + - |tooling_name_wp__verification_module_ver_report| + - |tooling_status_wp__verification_module_ver_report| + * - + - + - + - :need:`wp__verification_comp_int_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_comp_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_comp_int_test' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_comp_int_test) + - |tooling_name_wp__verification_comp_int_test| + - |tooling_status_wp__verification_comp_int_test| + * - + - + - + - :need:`wp__verification_sw_unit_test` + - + + .. rst-class:: wp-status-cell + + :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_unit_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_unit_test' in satisfies` + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.wp_tag_status(wf__verification_unit_test) + - |tooling_name_wp__verification_sw_unit_test| + - |tooling_status_wp__verification_sw_unit_test| -.. include:: wp_status_table.rst +.. raw:: html -.. include:: tooling_table.rst + From b236a9c857be21598dc3aefaeed00938bcfd2d15 Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Mon, 4 May 2026 12:13:11 +0000 Subject: [PATCH 04/15] WIP --- process/_assets/custom.css | 83 ++ process/conf.py | 44 + process/needs_filters.py | 153 ++++ process/standards/process_reqs_list/index.rst | 1 + .../process_area_compact_overview.rst | 155 ++++ .../process_status_overview.rst | 777 ++++++++++++++++++ .../process_reqs_list/tooling_definitions.rst | 82 +- .../process_reqs_list/tooling_table.rst | 116 +-- 8 files changed, 1311 insertions(+), 100 deletions(-) create mode 100644 process/needs_filters.py create mode 100644 process/standards/process_reqs_list/process_area_compact_overview.rst diff --git a/process/_assets/custom.css b/process/_assets/custom.css index 02f31d9b5b..fa57c5a109 100644 --- a/process/_assets/custom.css +++ b/process/_assets/custom.css @@ -179,3 +179,86 @@ .score-grid .sd-card.card-ml4 .sd-card-footer a { color: var(--card-body-text-color) !important; } + +/* Process requirement summary charts */ +img[id^="needpie-standards/process_reqs_list/process_area_status_summary-"] { + width: 300px; + max-width: none; + height: auto; + display: block; + margin: 0 auto; +} + +td:has(img[id^="needpie-standards/process_reqs_list/process_area_status_summary-"]) { + vertical-align: middle; +} + +.small-pie-cell img[id^="needpie-standards/process_reqs_list/process_area_status_summary-"] { + width: 150px !important; +} + +.combined-status-table td, +.combined-status-table th { + border: 1px solid #ccc !important; +} + +.combined-status-table tr.group-start td { + border-top: 2px solid #888 !important; +} + +/* Static chart legend block above the process status overview table */ +.chart-legend-block { + display: flex; + flex-wrap: wrap; + gap: 1.5rem; + margin-bottom: 1rem; + padding: 0.75rem 1rem; + border: 1px solid #ccc; + border-radius: 4px; + background: #fafafa; +} + +.chart-legend-group { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 0.5rem; +} + +.chart-legend-group strong { + margin-right: 0.25rem; +} + +.chart-legend-item { + display: inline-flex; + align-items: center; + gap: 0.25rem; + font-size: 0.85em; + white-space: nowrap; +} + +.chart-legend-dot { + display: inline-block; + width: 12px; + height: 12px; + border-radius: 50%; + flex-shrink: 0; +} + +.module-status-table td, +.module-status-table th { + border: 1px solid #ccc !important; + vertical-align: middle; +} + +.module-status-table .small-pie-cell { + text-align: center; +} + +.module-status-table .small-pie-cell img { + width: 140px; + max-width: none; + height: auto; + display: block; + margin: 0 auto; +} diff --git a/process/conf.py b/process/conf.py index a6babc9e07..6f06612706 100644 --- a/process/conf.py +++ b/process/conf.py @@ -52,3 +52,47 @@ import sys as _sys import os as _os _sys.path.insert(0, _os.path.dirname(_os.path.abspath(__file__))) + + +def _patch_needpie_suppress_legend() -> None: + """Suppress all in-chart legends in sphinx-needs needpie charts. + + needpie auto-adds a legend whenever a slice is <5% or zero, even without + the :legend: option. Since a static legend is displayed above the table, + we replace axes.legend() with a no-op so no legend appears inside the charts. + + We also patch save_matplotlib_figure to always overwrite existing SVG files, + bypassing the sphinx-needs env.images cache which would otherwise skip + regenerating images when the Sphinx environment pickle exists from a prior build. + """ + try: + import matplotlib.axes + matplotlib.axes.Axes.legend = lambda self, *args, **kwargs: None + except Exception: + pass + + try: + import sphinx_needs.utils as _sn_utils + import sphinx_needs.directives.needpie as _needpie_mod + import os + + _orig_save = _sn_utils.save_matplotlib_figure + + def _save_always(app, figure, basename, fromdocname): # type: ignore[no-untyped-def] + # Remove cached entry so figure.savefig() is always called + builder = app.builder + for ext in ("svg", "png", "pdf"): + path = os.path.join(builder.outdir, builder.imagedir, f"{basename}.{ext}") + try: + del app.env.images[path] # type: ignore[attr-defined] + except (KeyError, TypeError, AttributeError): + pass + return _orig_save(app, figure, basename, fromdocname) + + _sn_utils.save_matplotlib_figure = _save_always + _needpie_mod.save_matplotlib_figure = _save_always + except Exception: + pass + + +_patch_needpie_suppress_legend() diff --git a/process/needs_filters.py b/process/needs_filters.py new file mode 100644 index 0000000000..1baa202f6c --- /dev/null +++ b/process/needs_filters.py @@ -0,0 +1,153 @@ +# ******************************************************************************* +# Copyright (c) 2025 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* + +""" +Custom filter functions for use with sphinx-needs :filter-func: option. +""" + + +def std_req_status_for_area(needs, results, arg1=""): + """ + filter_func for needpie: counts the tag-based compliance status distribution + of std_req needs referenced via `complies` from gd_req needs tagged with the + given process area tag. + + Recognized tags (in priority order): ok, recommendation, open, action, + deviation, n/a. Needs with none of these tags are counted as "other". + + arg1 = process area tag (e.g. requirements_engineering) + """ + area_tag = arg1.strip() + std_req_ids = set() + needs_by_id = {n["id"]: n for n in needs} + for need in needs: + if ( + need.get("type") == "gd_req" + and not need.get("is_external", False) + and area_tag in need.get("tags", []) + ): + for ref_id in need.get("complies", []): + if ref_id.startswith("std_req__iso26262__"): + std_req_ids.add(ref_id) + ok = recommendation = open_ = action = deviation = na = other = 0 + for sid in std_req_ids: + n = needs_by_id.get(sid) + if n: + t = set(n.get("tags", [])) + if "deviation" in t: + deviation += 1 + elif "action" in t: + action += 1 + elif "open" in t: + open_ += 1 + elif "ok" in t: + ok += 1 + elif "recommendation" in t: + recommendation += 1 + elif "n/a" in t: + na += 1 + else: + other += 1 + results += [ok, recommendation, open_, action, deviation, na, other] + + +def wp_tag_status(needs, results, arg1=""): + """ + filter_func for needpie: counts the tag-based verification status distribution + of gd_req needs associated with one or more workflows (pipe-separated in arg1). + + Tags (in priority order): + - done_automation → Automated + - prio__automation → Waiting for automation + - manual_prio_ → Inspection list + - (none of the above) → Other + + arg1 = workflow id(s), pipe-separated (e.g. wf__foo or wf__foo|wf__bar) + """ + workflow_ids = [w.strip() for w in arg1.split("|") if w.strip()] + automated = waiting = inspection = other = 0 + for need in needs: + if need.get("type") == "gd_req" and not need.get("is_external", False): + satisfies = need.get("satisfies", []) + if any(wf in satisfies for wf in workflow_ids): + tags = set(need.get("tags", [])) + if "done_automation" in tags: + automated += 1 + elif any( + t.startswith("prio_") and t.endswith("_automation") + for t in tags + ): + waiting += 1 + elif any(t.startswith("manual_prio_") for t in tags): + inspection += 1 + else: + other += 1 + results += [automated, waiting, inspection, other] + + +def area_verification_status(needs, results, arg1=""): + """ + filter_func for needpie: counts the tag-based verification status distribution + of gd_req needs tagged with the given process area tag, aggregated across all + workflows for that area. + + Tags (in priority order): + - done_automation → Automated + - prio__automation → Waiting for automation + - manual_prio_ → Inspection list + - (none of the above) → Other + + arg1 = process area tag (e.g. requirements_engineering) + """ + area_tag = arg1.strip() + automated = waiting = inspection = other = 0 + for need in needs: + if ( + need.get("type") == "gd_req" + and not need.get("is_external", False) + and area_tag in need.get("tags", []) + ): + tags = set(need.get("tags", [])) + if "done_automation" in tags: + automated += 1 + elif any( + t.startswith("prio_") and t.endswith("_automation") + for t in tags + ): + waiting += 1 + elif any(t.startswith("manual_prio_") for t in tags): + inspection += 1 + else: + other += 1 + results += [automated, waiting, inspection, other] + + +def wp_done_automation_status(needs, results, arg1=""): + """ + filter_func for needpie: counts gd_req needs associated with one or more + workflows and splits them into done_automation vs. remaining requirements. + + arg1 = workflow id(s), pipe-separated (e.g. wf__foo or wf__foo|wf__bar) + """ + workflow_ids = [w.strip() for w in arg1.split("|") if w.strip()] + done = rest = 0 + for need in needs: + if need.get("type") == "gd_req" and not need.get("is_external", False): + satisfies = need.get("satisfies", []) + if any(wf in satisfies for wf in workflow_ids): + tags = set(need.get("tags", [])) + if "done_automation" in tags: + done += 1 + else: + rest += 1 + results += [done, rest] diff --git a/process/standards/process_reqs_list/index.rst b/process/standards/process_reqs_list/index.rst index b2693cd769..164918beca 100644 --- a/process/standards/process_reqs_list/index.rst +++ b/process/standards/process_reqs_list/index.rst @@ -36,6 +36,7 @@ see: :maxdepth: 1 process_area_status_summary + process_area_compact_overview process_status_overview .. needtable:: diff --git a/process/standards/process_reqs_list/process_area_compact_overview.rst b/process/standards/process_reqs_list/process_area_compact_overview.rst new file mode 100644 index 0000000000..bcff21dc3d --- /dev/null +++ b/process/standards/process_reqs_list/process_area_compact_overview.rst @@ -0,0 +1,155 @@ +.. + # ******************************************************************************* + # Copyright (c) 2025 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. _process_area_compact_overview: + +Process Area Status Overview (Compact) +####################################### + +The table below shows process requirement status, ISO 26262 std_req compliance +status, and requirement verification status per process area — one row per area, +without further splitting by work product. + +.. raw:: html + +
+
+ Process req. status + Valid + Draft + Invalid + Other +
+
+ ISO 26262 std_req status + Ok + Recommendation + Open + Action + Deviation + N/A + Other +
+
+ Req. verification status + Automated + Waiting for automation + Inspection list + Other +
+
+ +.. list-table:: Process area status overview (compact) + :header-rows: 1 + :widths: 20 27 27 26 + + * - Process area + - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - Requirements Engineering + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags + - + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(requirements_engineering) + + * - Architecture Design + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags + - + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(architecture_design) + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(architecture_design) + + * - Implementation + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags + - + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(implementation) + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(implementation) + + * - Verification + - + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags + - + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(verification) + - + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(verification) diff --git a/process/standards/process_reqs_list/process_status_overview.rst b/process/standards/process_reqs_list/process_status_overview.rst index 27b360d596..8456fe1ea2 100644 --- a/process/standards/process_reqs_list/process_status_overview.rst +++ b/process/standards/process_reqs_list/process_status_overview.rst @@ -27,6 +27,35 @@ compliance status, work product completion status, and tooling in a single overv For each process area the pie charts appear on the first work product row; subsequent rows carry only the work product and its completion badge. +.. raw:: html + +
+
+ Process req. status + Valid + Draft + Invalid + Other +
+
+ ISO 26262 std_req status + Ok + Recommendation + Open + Action + Deviation + N/A + Other +
+
+ Req. verification status + Automated + Waiting for automation + Inspection list + Other +
+
+ .. list-table:: Combined process area and work product status overview :header-rows: 1 :widths: 10 13 13 20 7 15 11 11 @@ -580,3 +609,751 @@ subsequent rows carry only the work product and its completion badge. }); }); + +Module Status by Work Product +***************************** + +The following tables provide module-specific placeholders for manual status tracking. +Rows are grouped by process area and list the related work products. + +.. raw:: html + +
+
+ Done automation status + done_automation + rest +
+
+ +Baselibs +======== + +.. list-table:: Baselibs module status + :header-rows: 1 + :widths: 50 25 25 + :class: module-status-table + + * - `Baselibs `_ + - Functional complete + - Done automation / rest + * - **Requirements Engineering** + - + - + * - :need:`wp__requirements_stkh` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_stkh_req) + * - :need:`wp__requirements_sw_platform_aou` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_stkh_req) + * - :need:`wp__requirements_feat` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_feat_req) + * - :need:`wp__requirements_feat_aou` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_feat_aou) + * - :need:`wp__requirements_comp` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_comp_req) + * - :need:`wp__requirements_comp_aou` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_comp_aou) + * - :need:`wp__requirements_proc_tool` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_proc_tool) + * - :need:`wp__requirements_inspect` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__monitor_verify_requirements) + * - **Architecture Design** + - + - + * - :need:`wp__platform_arch` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_platarch) + * - :need:`wp__feature_arch` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_featarch) + * - :need:`wp__component_arch` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_comparch) + * - :need:`wp__sw_arch_verification` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__mr_vy_arch) + * - **Implementation** + - + - + * - :need:`wp__sw_development_plan` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__sw_development_plan) + * - :need:`wp__sw_implementation` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__sw_detailed_design) + * - :need:`wp__sw_implementation_inspection` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__sw_verify_implementation) + * - **Verification** + - + - + * - :need:`wp__verification_plan` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_plan|wf__verification_plan_maintain) + * - :need:`wp__verification_platform_int_test` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_platform_int_test) + * - :need:`wp__verification_platform_ver_report` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_platform_ver_report) + * - :need:`wp__verification_feat_int_test` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_feat_int_test) + * - :need:`wp__verification_module_ver_report` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_mod_ver_report) + * - :need:`wp__verification_comp_int_test` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_comp_int_test) + * - :need:`wp__verification_sw_unit_test` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_unit_test) + +Communication +============= + +.. list-table:: Communication module status + :header-rows: 1 + :widths: 50 25 25 + :class: module-status-table + + * - `Communication `_ + - Functional complete + - Done automation / rest + * - **Requirements Engineering** + - + - + * - :need:`wp__requirements_stkh` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_stkh_req) + * - :need:`wp__requirements_sw_platform_aou` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_stkh_req) + * - :need:`wp__requirements_feat` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_feat_req) + * - :need:`wp__requirements_feat_aou` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_feat_aou) + * - :need:`wp__requirements_comp` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_comp_req) + * - :need:`wp__requirements_comp_aou` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_comp_aou) + * - :need:`wp__requirements_proc_tool` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_proc_tool) + * - :need:`wp__requirements_inspect` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__monitor_verify_requirements) + * - **Architecture Design** + - + - + * - :need:`wp__platform_arch` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_platarch) + * - :need:`wp__feature_arch` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_featarch) + * - :need:`wp__component_arch` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_comparch) + * - :need:`wp__sw_arch_verification` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__mr_vy_arch) + * - **Implementation** + - + - + * - :need:`wp__sw_development_plan` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__sw_development_plan) + * - :need:`wp__sw_implementation` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__sw_detailed_design) + * - :need:`wp__sw_implementation_inspection` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__sw_verify_implementation) + * - **Verification** + - + - + * - :need:`wp__verification_plan` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_plan|wf__verification_plan_maintain) + * - :need:`wp__verification_platform_int_test` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_platform_int_test) + * - :need:`wp__verification_platform_ver_report` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_platform_ver_report) + * - :need:`wp__verification_feat_int_test` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_feat_int_test) + * - :need:`wp__verification_module_ver_report` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_mod_ver_report) + * - :need:`wp__verification_comp_int_test` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_comp_int_test) + * - :need:`wp__verification_sw_unit_test` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_unit_test) + +Logging +======= + +.. list-table:: Logging module status + :header-rows: 1 + :widths: 50 25 25 + :class: module-status-table + + * - `Logging `_ + - Functional complete + - Done automation / rest + * - **Requirements Engineering** + - + - + * - :need:`wp__requirements_stkh` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_stkh_req) + * - :need:`wp__requirements_sw_platform_aou` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_stkh_req) + * - :need:`wp__requirements_feat` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_feat_req) + * - :need:`wp__requirements_feat_aou` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_feat_aou) + * - :need:`wp__requirements_comp` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_comp_req) + * - :need:`wp__requirements_comp_aou` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_comp_aou) + * - :need:`wp__requirements_proc_tool` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__req_proc_tool) + * - :need:`wp__requirements_inspect` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__monitor_verify_requirements) + * - **Architecture Design** + - + - + * - :need:`wp__platform_arch` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_platarch) + * - :need:`wp__feature_arch` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_featarch) + * - :need:`wp__component_arch` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_comparch) + * - :need:`wp__sw_arch_verification` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__mr_vy_arch) + * - **Implementation** + - + - + * - :need:`wp__sw_development_plan` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__sw_development_plan) + * - :need:`wp__sw_implementation` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__sw_detailed_design) + * - :need:`wp__sw_implementation_inspection` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__sw_verify_implementation) + * - **Verification** + - + - + * - :need:`wp__verification_plan` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_plan|wf__verification_plan_maintain) + * - :need:`wp__verification_platform_int_test` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_platform_int_test) + * - :need:`wp__verification_platform_ver_report` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_platform_ver_report) + * - :need:`wp__verification_feat_int_test` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_feat_int_test) + * - :need:`wp__verification_module_ver_report` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_mod_ver_report) + * - :need:`wp__verification_comp_int_test` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_comp_int_test) + * - :need:`wp__verification_sw_unit_test` + - + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Done, Rest + :colors: LimeGreen, LightGray + :filter-func: needs_filters.wp_done_automation_status(wf__verification_unit_test) diff --git a/process/standards/process_reqs_list/tooling_definitions.rst b/process/standards/process_reqs_list/tooling_definitions.rst index 7f411ab1f2..644779c69c 100644 --- a/process/standards/process_reqs_list/tooling_definitions.rst +++ b/process/standards/process_reqs_list/tooling_definitions.rst @@ -16,8 +16,6 @@ .. Edit this file to fill in the tooling columns in the Process Status Overview table. .. .. Two substitutions per work product: -.. |tooling_name_wp__| — tool name (text, inline code ``tool``, link `Name `_) -.. |tooling_status_wp__| — status of the tooling (e.g. available, planned, n/a) .. .. Inline markup only (no block-level directives, no bullet lists). @@ -28,65 +26,65 @@ .. |tooling_name_wp__requirements_sw_platform_aou| replace:: sphinx-needs .. |tooling_status_wp__requirements_sw_platform_aou| replace:: available -.. |tooling_name_wp__requirements_feat| replace:: TBDsklgjlksgj -.. |tooling_status_wp__requirements_feat| replace:: ttttt +.. |tooling_name_wp__requirements_feat| replace:: sphinx-needs +.. |tooling_status_wp__requirements_feat| replace:: available -.. |tooling_name_wp__requirements_feat_aou| replace:: TBD -.. |tooling_status_wp__requirements_feat_aou| replace:: TBD +.. |tooling_name_wp__requirements_feat_aou| replace:: sphinx-needs +.. |tooling_status_wp__requirements_feat_aou| replace:: available -.. |tooling_name_wp__requirements_comp| replace:: TBD -.. |tooling_status_wp__requirements_comp| replace:: TBD +.. |tooling_name_wp__requirements_comp| replace:: sphinx-needs +.. |tooling_status_wp__requirements_comp| replace:: available -.. |tooling_name_wp__requirements_comp_aou| replace:: TBD -.. |tooling_status_wp__requirements_comp_aou| replace:: TBD +.. |tooling_name_wp__requirements_comp_aou| replace:: sphinx-needs +.. |tooling_status_wp__requirements_comp_aou| replace:: available -.. |tooling_name_wp__requirements_proc_tool| replace:: TBD -.. |tooling_status_wp__requirements_proc_tool| replace:: TBD +.. |tooling_name_wp__requirements_proc_tool| replace:: sphinx-needs +.. |tooling_status_wp__requirements_proc_tool| replace:: available -.. |tooling_name_wp__requirements_inspect| replace:: TBD -.. |tooling_status_wp__requirements_inspect| replace:: TBD +.. |tooling_name_wp__requirements_inspect| replace:: sphinx-needs +.. |tooling_status_wp__requirements_inspect| replace:: available .. Architecture Design -.. |tooling_name_wp__platform_arch| replace:: TBD -.. |tooling_status_wp__platform_arch| replace:: TBD +.. |tooling_name_wp__platform_arch| replace:: sphinx-needs, PlantUML +.. |tooling_status_wp__platform_arch| replace:: available -.. |tooling_name_wp__feature_arch| replace:: TBD -.. |tooling_status_wp__feature_arch| replace:: TBD +.. |tooling_name_wp__feature_arch| replace:: sphinx-needs, PlantUML +.. |tooling_status_wp__feature_arch| replace:: available -.. |tooling_name_wp__component_arch| replace:: TBD -.. |tooling_status_wp__component_arch| replace:: TBD +.. |tooling_name_wp__component_arch| replace:: sphinx-needs, PlantUML +.. |tooling_status_wp__component_arch| replace:: available -.. |tooling_name_wp__sw_arch_verification| replace:: TBD -.. |tooling_status_wp__sw_arch_verification| replace:: TBD +.. |tooling_name_wp__sw_arch_verification| replace:: sphinx-needs +.. |tooling_status_wp__sw_arch_verification| replace:: not available .. Implementation -.. |tooling_name_wp__sw_development_plan| replace:: TBD -.. |tooling_status_wp__sw_development_plan| replace:: TBD +.. |tooling_name_wp__sw_development_plan| replace:: sphinx-needs +.. |tooling_status_wp__sw_development_plan| replace:: not available -.. |tooling_name_wp__sw_implementation| replace:: TBD -.. |tooling_status_wp__sw_implementation| replace:: TBD +.. |tooling_name_wp__sw_implementation| replace:: C++/RUST toolchain +.. |tooling_status_wp__sw_implementation| replace:: available -.. |tooling_name_wp__sw_implementation_inspection| replace:: TBD -.. |tooling_status_wp__sw_implementation_inspection| replace:: TBD +.. |tooling_name_wp__sw_implementation_inspection| replace:: sphinx-needs +.. |tooling_status_wp__sw_implementation_inspection| replace:: available .. Verification -.. |tooling_name_wp__verification_plan| replace:: TBD -.. |tooling_status_wp__verification_plan| replace:: TBD +.. |tooling_name_wp__verification_plan| replace:: sphinx-needs +.. |tooling_status_wp__verification_plan| replace:: not available -.. |tooling_name_wp__verification_platform_int_test| replace:: TBD -.. |tooling_status_wp__verification_platform_int_test| replace:: TBD +.. |tooling_name_wp__verification_platform_int_test| replace:: ITF +.. |tooling_status_wp__verification_platform_int_test| replace:: available -.. |tooling_name_wp__verification_platform_ver_report| replace:: TBD -.. |tooling_status_wp__verification_platform_ver_report| replace:: TBD +.. |tooling_name_wp__verification_platform_ver_report| replace:: sphinx-needs +.. |tooling_status_wp__verification_platform_ver_report| replace:: not available -.. |tooling_name_wp__verification_feat_int_test| replace:: TBD -.. |tooling_status_wp__verification_feat_int_test| replace:: TBD +.. |tooling_name_wp__verification_feat_int_test| replace:: ITF +.. |tooling_status_wp__verification_feat_int_test| replace:: available -.. |tooling_name_wp__verification_module_ver_report| replace:: TBD -.. |tooling_status_wp__verification_module_ver_report| replace:: TBD +.. |tooling_name_wp__verification_module_ver_report| replace:: sphinx-needs +.. |tooling_status_wp__verification_module_ver_report| replace:: not available -.. |tooling_name_wp__verification_comp_int_test| replace:: TBD -.. |tooling_status_wp__verification_comp_int_test| replace:: TBD +.. |tooling_name_wp__verification_comp_int_test| replace:: ITF +.. |tooling_status_wp__verification_comp_int_test| replace:: available -.. |tooling_name_wp__verification_sw_unit_test| replace:: TBD -.. |tooling_status_wp__verification_sw_unit_test| replace:: TBD +.. |tooling_name_wp__verification_sw_unit_test| replace:: gtest +.. |tooling_status_wp__verification_sw_unit_test| replace:: available diff --git a/process/standards/process_reqs_list/tooling_table.rst b/process/standards/process_reqs_list/tooling_table.rst index 8ca97c423d..c7b9e4309d 100644 --- a/process/standards/process_reqs_list/tooling_table.rst +++ b/process/standards/process_reqs_list/tooling_table.rst @@ -29,87 +29,87 @@ Edit this table to define the tooling used per work product and its current stat - :need:`wp__requirements_stkh` - sphinx-needs - available - * - + * - - :need:`wp__requirements_sw_platform_aou` - sphinx-needs - available - * - + * - - :need:`wp__requirements_feat` - - TBDsklgjlksgj - - ttttt - * - + - sphinx-needs + - available + * - - :need:`wp__requirements_feat_aou` - - TBD - - TBD - * - + - sphinx-needs + - available + * - - :need:`wp__requirements_comp` - - TBD - - TBD - * - + - sphinx-needs + - available + * - - :need:`wp__requirements_comp_aou` - - TBD - - TBD - * - + - sphinx-needs + - available + * - - :need:`wp__requirements_proc_tool` - - TBD - - TBD - * - + - sphinx-needs + - available + * - - :need:`wp__requirements_inspect` - - TBD - - TBD + - sphinx-needs + - available * - Architecture Design - :need:`wp__platform_arch` - - TBD - - TBD - * - + - sphinx-needs, PlantUML + - available + * - - :need:`wp__feature_arch` - - TBD - - TBD - * - + - sphinx-needs, PlantUML + - available + * - - :need:`wp__component_arch` - - TBD - - TBD - * - + - sphinx-needs, PlantUML + - available + * - - :need:`wp__sw_arch_verification` - - TBD - - TBD + - sphinx-needs, PlantUML + - available * - Implementation - :need:`wp__sw_development_plan` - - TBD - - TBD - * - + - n/a + - n/a + * - - :need:`wp__sw_implementation` - - TBD - - TBD - * - + - C++, RUST toolchains + - available + * - - :need:`wp__sw_implementation_inspection` - - TBD - - TBD + - sphinx-needs + - available * - Verification - :need:`wp__verification_plan` - - TBD - - TBD - * - + - n/a + - n/a + * - - :need:`wp__verification_platform_int_test` - - TBD - - TBD - * - + - ITF + - available + * - - :need:`wp__verification_platform_ver_report` - - TBD - - TBD - * - + - sphinx-needs + - not available + * - - :need:`wp__verification_feat_int_test` - - TBD - - TBD - * - + - ITF + - available + * - - :need:`wp__verification_module_ver_report` - - TBD - - TBD - * - + - sphinx-needs + - not available + * - - :need:`wp__verification_comp_int_test` - - TBD - - TBD - * - + - ITF + - available + * - - :need:`wp__verification_sw_unit_test` - - TBD - - TBD + - gtest + - available From d2fb75224f3f43ba576d8bf44afa5196f927f6a4 Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Mon, 4 May 2026 13:18:26 +0000 Subject: [PATCH 05/15] tables for process are in a good shape --- .github/skills/module-phase-tracker/SKILL.md | 843 ++++++++++ process/_assets/custom.css | 83 +- .../standards/feature_and_process_status.rst | 548 +++++++ process/standards/index.rst | 1 + process/standards/process_reqs_list/index.rst | 23 +- .../process_area_compact_overview.rst | 155 -- .../process_area_overview_table.rst | 97 -- .../process_area_status_summary.rst | 1060 ------------- .../process_status_overview.rst | 1359 ----------------- .../process_reqs_list/tooling_definitions.rst | 90 -- .../process_reqs_list/tooling_table.rst | 115 -- .../process_reqs_list/wp_status_table.rst | 313 ---- 12 files changed, 1411 insertions(+), 3276 deletions(-) create mode 100644 .github/skills/module-phase-tracker/SKILL.md create mode 100644 process/standards/feature_and_process_status.rst delete mode 100644 process/standards/process_reqs_list/process_area_compact_overview.rst delete mode 100644 process/standards/process_reqs_list/process_area_overview_table.rst delete mode 100644 process/standards/process_reqs_list/process_area_status_summary.rst delete mode 100644 process/standards/process_reqs_list/process_status_overview.rst delete mode 100644 process/standards/process_reqs_list/tooling_definitions.rst delete mode 100644 process/standards/process_reqs_list/tooling_table.rst delete mode 100644 process/standards/process_reqs_list/wp_status_table.rst diff --git a/.github/skills/module-phase-tracker/SKILL.md b/.github/skills/module-phase-tracker/SKILL.md new file mode 100644 index 0000000000..0d2391b15b --- /dev/null +++ b/.github/skills/module-phase-tracker/SKILL.md @@ -0,0 +1,843 @@ +--- +name: module-phase-tracker +description: "Update the Feature and Process Status table in feature_and_process_status.rst. Use when: checking module status, updating feature status tracker, refreshing work product status, deriving completion status from eclipse-score GitHub repos for Baselibs, Communication, Logging, Orchestrator, Persistency, Time, Config Management." +argument-hint: "optional: module name or 'all'" +--- + +# Feature and Process Status + +Derives and updates the completion status table in +`process/standards/feature_and_process_status.rst` by querying the live eclipse-score GitHub repositories. + +## When to Use + +- Refresh the tracker table with current data +- After a sprint/release to check progress +- When a module team reports a deliverable is done + +## RST File Structure + +`feature_and_process_status.rst` consists of a file header followed by 5 Process Area sections. Each section has this exact pattern: + +```rst +Process Area N — +*********************** + + + +See :ref:``. + +.. rubric:: Process Status + +.. list-table:: + :header-rows: 1 + :class: compact-overview-table + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and '' in tags + type == 'gd_req' and is_external == False and status == 'draft' and '' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and '' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and '' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area() + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status() + +.. rubric:: Implementation status: 🔄 NN% (X/Y deliverables complete) + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + :class: module-phase-tracker-table + + * - **Deliverable** + - **Baselibs** + - **Communication** + - **Logging** + - **Orchestrator** + - **Persistency** + - **Time** + - **Config Mgmt** + + * - + - + ... +``` + +**Important rules:** +- `.. needpie::` does **NOT** support a `:title:` option — omit it entirely (causes build errors) +- The pie chart table uses CSS class `compact-overview-table`; each cell needs `.. rst-class:: small-pie-cell` before its `.. needpie::` +- The module tracker table uses CSS class `module-phase-tracker-table` +- Both `.. rubric::` directives are plain inline text — NOT RST section headings +- The `.. rubric:: Implementation status:` line is computed (see Step 4 in Procedure) and placed directly before the module tracker table + +| Process Area | sphinx-needs tag | +|---|---| +| PA 1 — Change Management | `change_management` | +| PA 2 — Requirements Engineering | `requirements_engineering` | +| PA 3 — Architecture Design | `architecture_design` | +| PA 4 — Implementation | `implementation` | +| PA 5 — Verification | `verification` | + +The pie chart diagrams are computed live by sphinx-needs at build time — they **never need manual updates**. Only update the filter `` when adding a new Process Area. + +## Modules and Repos + +> **IMPORTANT**: Each module has its own dedicated repo in the `eclipse-score` GitHub org AND content in `eclipse-score/score`. **Always check BOTH** the module's own repo and `eclipse-score/score` when counting needs elements. Never rely on `eclipse-score/score` alone. + +| Module | Own Repo (always check!) | Docs in `eclipse-score/score` | +|---|---|---| +| Baselibs | `eclipse-score/baselibs` (no sphinx-needs RST so far) | `docs/modules/baselibs/**`, `docs/features/baselibs/docs` | +| Communication | `eclipse-score/communication` (no sphinx-needs RST so far) | `docs/modules/communication/**`, `docs/features/communication/docs` | +| Logging | `eclipse-score/logging` (no sphinx-needs RST so far) | `docs/modules/logging/**`, `docs/features/analysis-infra/logging/docs` | +| Orchestrator | `eclipse-score/lifecycle` — has `docs/module/health_monitor/` with comp_req/comp_arc | `docs/modules/orchestrator/**`, `docs/features/orchestration` | +| Persistency | `eclipse-score/persistency` — has `docs/persistency/kvs/` with comp_req/comp_arc ✅ | `docs/features/persistency` | +| Time | `eclipse-score/inc_time` (no sphinx-needs RST so far) | `docs/features/time/docs` | +| Config Management | `eclipse-score/config_management` (no sphinx-needs RST so far) | `docs/features/configuration` | + +**How to search all repos for a module:** +```python +for repo in ["eclipse-score/score", "eclipse-score/"]: + files = [p for p in get_tree(repo) if p.endswith(".rst") and "" in p] + for f in files: + v, t = count_needs_in_file(repo, f) +``` + +## Status Format + +- **``✅ Available (valid/total)``** — Artifact complete and approved: **100% of needs elements are `valid`** (valid == total). Always add the count in parentheses for requirements and architecture rows. +- **``🔄 NN% (valid/total)``** — In Progress: at least one element is `valid` but not all. Always show count. +- **``❌ Open``** — Not started, not found, or 0% valid +- For binary rows (Code, SW Development Plan, Unit Tests, CR approved): no count needed, just ``✅ Available`` or ``❌ Open`` + +**Percentage calculation per deliverable:** +- **Feature Req / Feature Arch**: count individual needs elements (e.g. `.. feat_req::`, `.. feat_arc::`) inside the doc with `:status: valid`; `valid / total`; 100% (valid == total) → ✅ Available +- **Comp. Req / Comp. Arch**: count individual needs elements across all component docs; `valid / total`; 100% (valid == total) → ✅ Available +- **Req. Inspection / Arch. Inspection**: `valid / total` across all checklists (feature + component combined); 100% (valid == total) → ✅ Available +- **Detailed Design + Code / Impl. Inspection**: `valid / total` across all `chklst_impl_inspection.rst` / `chklst_dd_inspection.rst` files +- **Binary deliverables** (CR approved, SW Dev Plan, Unit Tests, Integration Tests, Verification Report): no percentage +- **Detailed Design + Code / Impl. Inspection**: `valid / total` across all `chklst_impl_inspection.rst` / `chklst_dd_inspection.rst` files +- **Binary deliverables** (CR approved, SW Dev Plan, Unit Tests, Integration Tests, Verification Report): no percentage + +## Status Criteria (per Deliverable) + +### Process Area 1 — CR approved +- **✅ Available**: A closed GitHub Issue with "Feature Request" or "Contribution Request" for the module exists in `eclipse-score/score` +- **❌ Open**: No such issue found + +Known closed CRs: Baselibs (#549), Communication (#69), Logging (#68), Orchestrator (#273), Persistency (#95), Time (#910), Config Management (#754, #1764) + +### Process Area 2 — Feature Requirements +- **✅ Available**: 100% of individual needs elements (e.g. `.. feat_req::`) inside the requirements doc have `:status: valid` +- **🔄 NN%**: elements exist but not all are `valid`; show `valid / total` percentage +- **❌ Open**: no requirements file or zero needs elements found + +### Process Area 2 — Component Requirements +- **✅ Available**: 100% of all individual needs elements across all component requirements `.rst` files (not just `index.rst` — search all `.rst` files under `docs/modules//**/requirements/`) have `:status: valid` +- **🔄 NN%**: elements exist but not all are `valid`; show `valid / total` percentage +- **❌ Open**: no component requirement files found + +### Process Area 2 — Req. Inspection +- **✅ Available**: 100% of all `chklst_req_inspection.rst` files (feature + component level) have `:status: valid` +- **🔄 In Progress**: checklists exist but not all are `valid` +- **❌ Open**: no checklists found + +### Process Area 3 — Feature Architecture +- **✅ Available**: 100% of individual needs elements (e.g. `.. feat_arc::`) inside the architecture doc have `:status: valid` +- **🔄 NN%**: elements exist but not all are `valid`; show `valid / total` percentage +- **❌ Open**: no architecture file or zero needs elements found + +### Process Area 3 — Component Architecture +- **✅ Available**: 100% of all individual needs elements across all component architecture files have `:status: valid` +- **🔄 NN%**: elements exist but not all are `valid`; show `valid / total` percentage +- **❌ Open**: no architecture docs found + +### Process Area 3 — Arch. Inspection +- **✅ Available**: 100% of all architecture checklists (`chklst_arc_inspection.rst` / `chklst_arch_inspection.rst`) have `:status: valid` +- **🔄 In Progress**: checklists exist but not all are `valid` +- **❌ Open**: no architecture checklists found + +### Process Area 4 — SW Development Plan +- **✅ Available**: `eclipse-score/score` contains `docs/platform_management_plan/software_development.rst` (project-wide) +- **❌ Open**: file absent + +### Process Area 4 — Code +- **✅ Available**: source files (`.cpp`, `.h`, `.py`, `.rs` etc.) exist in the module's own repo outside of `docs/` +- **❌ Open**: no source files found +- **Check**: `gh api repos/eclipse-score//git/trees/main?recursive=1 --jq '.tree[].path'` then filter for source extensions, exclude `docs/` +- **NOTE**: All currently active modules (Baselibs, Communication, Logging, Orchestrator, Persistency, Time, Config Mgmt) have source code → all ✅ Available + +### Process Area 4 — Detailed Design +- **✅ Available**: 100% of formal design doc needs elements (`.. dd_sta::`, `.. dd_dyn::`, `.. comp_dd::` or similar) in `detailed_design/` folders have `:status: valid` +- **🔄 NN%**: design docs exist and at least one element is `valid` but not all are `valid`; show `valid / total` % +- **❌ Open**: no RST files with actual design directives found, OR all existing design elements have `:status: draft` (0% valid = same as not started) +- **DO NOT count `chklst_impl_inspection.rst`** — those are inspection checklists, not design documents +- **DO NOT count bare `.. document::` wrapper files** — these are placeholders, not actual design content +- **Search both `eclipse-score/score` and the module's own repo** for `detailed_design/` folders + +### Process Area 4 — Impl. Inspection +- **✅ Available**: 100% of `chklst_impl_inspection.rst` / `chklst_dd_inspection.rst` files have `:status: valid` +- **🔄 In Progress**: checklists exist but not all are `valid` +- **❌ Open**: no impl inspection checklists found + +### Process Area 5 — Unit Tests +- **✅ Available**: Source repo contains `_test.cpp`, `_test.py`, or `/test(s)/` directories (excluding docs/) +- **❌ Open**: no test files found + +### Process Area 5 — Comp. Integration Tests +- **✅ Available**: Source repo contains integration test source files (`.cpp`/`.py` with "integration" in path) +- **🔄 In Progress**: integration test CI workflow exists but no test source files +- **❌ Open**: no integration test artifacts + +### Process Area 5 — Feature Integration Tests +- **🔄 In Progress**: `integration_test_scenarios` or `feature*test*` paths found in source repo +- **❌ Open**: none found + +### Process Area 5 — Module Verification Report +- **✅ Available**: `verification/module_verification_report.rst` exists AND `:status: valid` **AND** the file contains actual verification data (test coverage lists, DFA results, static analysis results etc.) — not just section headings +- **🔄 In Progress**: file exists with `:status: draft` +- **❌ Open**: file does not exist, OR file is a template placeholder only (section headings with no content) +- **⚠ Consistency check**: A Module Verification Report can only be ✅ Available if all prerequisite Phase 5 deliverables (Unit Tests, Comp. Integration Tests, Feature Integration Tests) are also ✅ Available. If any prerequisite is ❌ Open, mark the report ❌ Open regardless of `:status:` in the file. +- **Known pitfall — Persistency**: `eclipse-score/persistency` has a `module_verification_report.rst` with `:status: valid` but it is an empty template. Feature Integration Tests are ❌ Open → report must be ❌ Open. + +## Procedure + +### Prerequisites +- `gh` CLI must be authenticated (`gh auth status`) +- Python 3.8+ + +### Steps + +1. **Fetch the repo tree** for `eclipse-score/score` and module source repos: + ```bash + gh api repos/eclipse-score/score/git/trees/main?recursive=1 --jq '.tree[].path' > /tmp/tree_score.txt + ``` + +2. **Count needs elements** in each requirements/architecture file using this pattern: + ```python + import re, base64, subprocess + def count_needs_status(repo, path): + content = base64.b64decode( + subprocess.run(["gh", "api", f"repos/{repo}/contents/{path}", + "--jq", ".content"], capture_output=True, text=True).stdout.strip() + ).decode() + statuses = re.findall(r'^\s+:status:\s+(\w+)', content, re.MULTILINE) + valid = sum(1 for s in statuses if s == 'valid') + return valid, len(statuses) + ``` + Aggregate `valid` and `total` across all files per deliverable. + Percentage = `valid * 100 // total`. 100% (valid == total) → ✅ Available, else 🔄 NN%. + +3. **Update the RST file** `process/standards/feature_and_process_status.rst` + with the computed values. + +4. **Compute the Implementation status per Process Area** and update the bold status line that appears directly before each table: + - Count how many deliverable cells (across all modules × all deliverables in that Process Area) are `✅ Available` + - `complete = number of ✅ Available cells`, `total = number of module × deliverable cells` + - 100% → `✅ Available (total/total deliverables complete)` + - >0% → `🔄 NN% (complete/total deliverables complete)` + - 0% → `❌ Open (0/total deliverables complete)` + - Format: `**Implementation status: 🔄 NN% (complete/total deliverables complete)**` + - Binary rows (Code, SW Dev Plan, Unit Tests, CR): count each module cell as 1 deliverable + - Do NOT include an Overall row inside the table — the status line is placed as plain text before the `.. list-table::` directive + +5. **Adding a new module** — add a row to the Modules and Repos table above, define its `feature_path` and `docs_path`, then add a column to the tracker table. + +## Interpretation Notes + +### Artifacts vs. Checklists — Key Rule +- **Artifacts** (Feature Requirements, Component Requirements, Feature Architecture, Component Architecture, Detailed Design, Code): derive status by **directly inspecting the repos** — look for sphinx-needs elements or source files. Do NOT rely on checklist presence/status. +- **Inspection rows** (Req. Inspection, Arch. Inspection, Impl. Inspection): these rows describe the checklists themselves — report what is found in `chklst_*.rst` files (how many exist, valid vs. draft). Computed as `valid / total` checklist files. + +### Additional Notes +- **Requirements/Architecture rows**: count individual needs elements (`:status:` fields inside `.. feat_req::`, `.. feat_arc::`, `.. comp_req::`, `.. comp_arc_sta::`, `.. comp_arc_dyn::`, `.. real_arc_int::`, etc.) — NOT the document-level `:status:` field. +- **Code row**: source files outside of `docs/` in the module's own repo. All active modules currently ✅ Available. +- **Detailed Design row**: actual design directives (`.. dd_sta::`, `.. dd_dyn::`) in `detailed_design/` folders — not `chklst_impl_inspection.rst`, not bare `.. document::` wrappers. +- The SW Development Plan check is project-wide (not per-module) because S-CORE uses a single platform management plan. +- Verification report `status: valid` requires Committer approval in the PR merge. +- **Template vs. real report**: A file with `:status: valid` can still be an empty template. When checking `module_verification_report.rst`, look for actual content (tables, coverage numbers, test results) beyond section headings. If only headings are present, treat as ❌ Open even if `:status: valid`. +- **Phase 5 consistency**: The Module Verification Report cannot be complete if any prerequisite (Unit Tests, Integration Tests) is missing. + +## Limitations + +- Cannot detect whether requirements have 100% test coverage (needs needs.json analysis) +- Cannot check if static analysis findings are cleared +- Feature integration tests heuristic is weak — manual verification recommended + +## Complete RST Snapshot + +Full content of `process/standards/feature_and_process_status.rst` as of last update. +Use this to recreate the file from scratch if needed. + +```rst +.. + # ******************************************************************************* + # Copyright (c) 2025 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +Feature and Process Status +########################## + +This page tracks the completion status of all 5 process areas per module. +Update the status column for each module after completing the respective deliverable. + +**Process Status chart legend:** + +.. list-table:: + :header-rows: 1 + :widths: 30 30 40 + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - 🟢 Valid + + 🟡 Draft + + 🔴 Invalid + + ⬜ Other + - 🟢 Ok + + 🔵 Recommendation + + 🟡 Open + + 🟠 Action + + 🔴 Deviation + + ⬜ N/A · ◻ Other + - 🟢 Automated + + 🟡 Waiting for automation + + 🔵 Inspection list + + ⬜ Other + +**Implementation Status Values:** + +- ``✅ Available`` — Work product created, reviewed and approved +- ``🔄 NN%`` — In Progress: artifact exists with at least one valid element, percentage shows valid/total +- ``❌ Open`` — Not yet started, not found, or 0% valid +- ``—`` — Not applicable for this module + +Process Area 1 — Change Management +*********************************** + +A Change Request must be created and approved by the Architecture Community before module development begins. +See :ref:`chm_change_workflows`. + +.. rubric:: Process Status + +.. list-table:: + :header-rows: 1 + :class: compact-overview-table + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'change_management' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'change_management' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'change_management' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'change_management' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(change_management) + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(change_management) + +.. rubric:: Implementation status: ✅ Available (7/7 deliverables complete) + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + :class: module-phase-tracker-table + + * - **Deliverable** + - **Baselibs** + - **Communication** + - **Logging** + - **Orchestrator** + - **Persistency** + - **Time** + - **Config Mgmt** + + * - CR approved + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + +Process Area 2 — Requirements Engineering +***************************************** + +Feature and component requirements must be written and inspected. +Work products: ``wp__requirements_feat``, ``wp__requirements_comp``, ``wp__requirements_inspect``. +See :ref:`requirements_workflows`. + +.. rubric:: Process Status + +.. list-table:: + :header-rows: 1 + :class: compact-overview-table + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(requirements_engineering) + +.. rubric:: Implementation status: 🔄 29% (6/21 deliverables complete) + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + :class: module-phase-tracker-table + + * - **Deliverable** + - **Baselibs** + - **Communication** + - **Logging** + - **Orchestrator** + - **Persistency** + - **Time** + - **Config Mgmt** + + * - Feature Requirements + - 🔄 93% (14/15) + - ✅ Available (50/50) + - ✅ Available (46/46) + - 🔄 84% (26/31) + - ✅ Available (40/40) + - ✅ Available (15/15) + - ✅ Available (13/13) + + * - Component Requirements + - 🔄 93% (124/134) + - 🔄 97% (34/35) + - ❌ Open + - ❌ Open + - 🔄 95% (36/38) + - ❌ Open + - ❌ Open + + * - Req. Inspection + - 🔄 20% (2/10) + `bitmanipulation `__, + `concurrency `__, + `containers `__, + `filesystem `__, + `json `__, + `safecpp `__, + `result `__, + `srs `__, + `utils `__, + `feature-level `__ + - ❌ Open + - ❌ Open + - ❌ Open + `executor `__, + `orchestrator `__ + - ✅ Available (2/2) + `feature-level `__, + `kvs `__ + - ❌ Open + - ❌ Open + +Process Area 3 — Architecture Design +************************************ + +Feature and component architecture must be designed and inspected. +Work products: ``wp__feature_arch``, ``wp__component_arch``, ``wp__sw_arch_verification``. +See :ref:`arch_workflow`. + +.. rubric:: Process Status + +.. list-table:: + :header-rows: 1 + :class: compact-overview-table + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(architecture_design) + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(architecture_design) + +.. rubric:: Implementation status: 🔄 24% (5/21 deliverables complete) + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + :class: module-phase-tracker-table + + * - **Deliverable** + - **Baselibs** + - **Communication** + - **Logging** + - **Orchestrator** + - **Persistency** + - **Time** + - **Config Mgmt** + + * - Feature Architecture + - ✅ Available (4/4) + - ✅ Available (3/3) + - ✅ Available (4/4) + - 🔄 66% (4/6) + - ✅ Available (12/12) + - ❌ Open + - ❌ Open + + * - Component Architecture + - 🔄 98% (172/175) + - 🔄 94% (17/18) + - ✅ Available (3/3) + - 🔄 98% (42/43) + - 🔄 25% (1/4) + - ❌ Open + - ❌ Open + + * - Arch. Inspection + - 🔄 80% (8/10) + `bitmanipulation `__, + `concurrency `__, + `containers `__, + `filesystem `__, + `json `__, + `safecpp `__, + `result `__, + `srs `__, + `utils `__, + `feature-level `__ + - ❌ Open + - ❌ Open + - ❌ Open + `executor `__, + `orchestrator `__ + - ❌ Open + `feature-level `__, + `kvs `__ + - ❌ Open + - ❌ Open + +Process Area 4 — Implementation +******************************** + +Source code and detailed design must be implemented and inspected. +Work products: ``wp__sw_development_plan``, ``wp__sw_implementation``, ``wp__sw_implementation_inspection``. +See :ref:`workflow_implementation`. + +.. rubric:: Process Status + +.. list-table:: + :header-rows: 1 + :class: compact-overview-table + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(implementation) + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(implementation) + +.. rubric:: Implementation status: 🔄 50% (14/28 deliverables complete) + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + :class: module-phase-tracker-table + + * - **Deliverable** + - **Baselibs** + - **Communication** + - **Logging** + - **Orchestrator** + - **Persistency** + - **Time** + - **Config Mgmt** + + * - SW Development Plan + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + + * - Code + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + + * - Detailed Design + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + + * - Impl. Inspection + - ❌ Open + `bitmanipulation `__, + `concurrency `__, + `containers `__, + `filesystem `__, + `json `__, + `safecpp `__, + `result `__, + `srs `__, + `utils `__ + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + `kvs `__ + - ❌ Open + - ❌ Open + +Process Area 5 — Verification +***************************** + +All tests must be implemented and a module verification report must be approved. +Work products: ``wp__verification_sw_unit_test``, ``wp__verification_comp_int_test``, ``wp__verification_feat_int_test``, ``wp__verification_module_ver_report``. +See :ref:`verification_workflows`. + +.. rubric:: Process Status + +.. list-table:: + :header-rows: 1 + :class: compact-overview-table + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(verification) + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(verification) + +.. rubric:: Implementation status: 🔄 36% (10/28 deliverables complete) + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + :class: module-phase-tracker-table + + * - **Deliverable** + - **Baselibs** + - **Communication** + - **Logging** + - **Orchestrator** + - **Persistency** + - **Time** + - **Config Mgmt** + + * - Unit Tests + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + + * - Comp. Integration Tests + - ✅ Available + - ✅ Available + - ❌ Open + - ✅ Available + - ❌ Open + - ❌ Open + - ❌ Open + + * - Feature Integration Tests + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + + * - Module Verification Report + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + +Done Criteria +************* + +A module is considered **complete** when all of the following are true: + +#. All ``valid`` component requirements have **100% test coverage** (linked via ``FullyVerifies`` or ``PartiallyVerifies``). +#. All CI metadata checks pass (``TestType``, ``DerivationTechnique``, ``Description`` set on every test). +#. Static analysis has no open ``Critical`` or ``High`` findings. +#. The **Module Verification Report** (``wp__verification_module_ver_report``) is generated and approved by a Committer. +``` diff --git a/process/_assets/custom.css b/process/_assets/custom.css index fa57c5a109..392da1f0e1 100644 --- a/process/_assets/custom.css +++ b/process/_assets/custom.css @@ -180,85 +180,32 @@ color: var(--card-body-text-color) !important; } -/* Process requirement summary charts */ -img[id^="needpie-standards/process_reqs_list/process_area_status_summary-"] { - width: 300px; - max-width: none; - height: auto; - display: block; - margin: 0 auto; +/* Compact process area overview charts */ +.compact-overview-wrapper { + overflow-x: auto; } -td:has(img[id^="needpie-standards/process_reqs_list/process_area_status_summary-"]) { +.compact-overview-table td:nth-child(1), +.compact-overview-table th:nth-child(1), +.compact-overview-table td:nth-child(5), +.compact-overview-table th:nth-child(5), +.compact-overview-table td:nth-child(6), +.compact-overview-table th:nth-child(6) { + text-align: center; vertical-align: middle; } -.small-pie-cell img[id^="needpie-standards/process_reqs_list/process_area_status_summary-"] { - width: 150px !important; -} - -.combined-status-table td, -.combined-status-table th { - border: 1px solid #ccc !important; -} - -.combined-status-table tr.group-start td { - border-top: 2px solid #888 !important; -} - -/* Static chart legend block above the process status overview table */ -.chart-legend-block { - display: flex; - flex-wrap: wrap; - gap: 1.5rem; - margin-bottom: 1rem; - padding: 0.75rem 1rem; - border: 1px solid #ccc; - border-radius: 4px; - background: #fafafa; -} - -.chart-legend-group { - display: flex; - flex-wrap: wrap; - align-items: center; - gap: 0.5rem; -} - -.chart-legend-group strong { - margin-right: 0.25rem; -} - -.chart-legend-item { - display: inline-flex; - align-items: center; - gap: 0.25rem; - font-size: 0.85em; - white-space: nowrap; -} - -.chart-legend-dot { - display: inline-block; - width: 12px; - height: 12px; - border-radius: 50%; - flex-shrink: 0; -} - -.module-status-table td, -.module-status-table th { - border: 1px solid #ccc !important; +.compact-overview-table td:has(img[id^="needpie-"]) { + min-width: 240px; vertical-align: middle; -} - -.module-status-table .small-pie-cell { text-align: center; } -.module-status-table .small-pie-cell img { - width: 140px; +.compact-overview-table td:has(img[id^="needpie-"]) img { + width: 240px; max-width: none; height: auto; display: block; margin: 0 auto; } + diff --git a/process/standards/feature_and_process_status.rst b/process/standards/feature_and_process_status.rst new file mode 100644 index 0000000000..047a3ec44f --- /dev/null +++ b/process/standards/feature_and_process_status.rst @@ -0,0 +1,548 @@ +.. + # ******************************************************************************* + # Copyright (c) 2025 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +Feature and Process Status +########################## + +This page tracks the completion status of all 5 process areas per module. +Update the status column for each module after completing the respective deliverable. + +**Process Status chart legend:** + +.. list-table:: + :header-rows: 1 + :widths: 30 30 40 + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - 🟢 Valid + + 🟡 Draft + + 🔴 Invalid + + ⬜ Other + - 🟢 Ok + + 🔵 Recommendation + + 🟡 Open + + 🟠 Action + + 🔴 Deviation + + ⬜ N/A · ◻ Other + - 🟢 Automated + + 🟡 Waiting for automation + + 🔵 Inspection list + + ⬜ Other + +**Implementation Status Values:** + +- ``✅ Available`` — Work product created, reviewed and approved +- ``🔄 NN%`` — In Progress: artifact exists with at least one valid element, percentage shows valid/total +- ``❌ Open`` — Not yet started, not found, or 0% valid +- ``—`` — Not applicable for this module + +Process Area 1 — Change Management +*********************************** + +A Change Request must be created and approved by the Architecture Community before module development begins. +See :ref:`chm_change_workflows`. + +.. rubric:: Process Status + +.. list-table:: + :header-rows: 1 + :class: compact-overview-table + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'change_management' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'change_management' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'change_management' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'change_management' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(change_management) + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(change_management) + +.. rubric:: Implementation status: ✅ Available (7/7 deliverables complete) + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + :class: module-phase-tracker-table + + * - **Deliverable** + - **Baselibs** + - **Communication** + - **Logging** + - **Orchestrator** + - **Persistency** + - **Time** + - **Config Mgmt** + + * - CR approved + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + +Process Area 2 — Requirements Engineering +***************************************** + +Feature and component requirements must be written and inspected. +Work products: ``wp__requirements_feat``, ``wp__requirements_comp``, ``wp__requirements_inspect``. +See :ref:`requirements_workflows`. + +.. rubric:: Process Status + +.. list-table:: + :header-rows: 1 + :class: compact-overview-table + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(requirements_engineering) + +.. rubric:: Implementation status: 🔄 29% (6/21 deliverables complete) + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + :class: module-phase-tracker-table + + * - **Deliverable** + - **Baselibs** + - **Communication** + - **Logging** + - **Orchestrator** + - **Persistency** + - **Time** + - **Config Mgmt** + + * - Feature Requirements + - 🔄 93% (14/15) + - ✅ Available (50/50) + - ✅ Available (46/46) + - 🔄 84% (26/31) + - ✅ Available (40/40) + - ✅ Available (15/15) + - ✅ Available (13/13) + + * - Component Requirements + - 🔄 93% (124/134) + - 🔄 97% (34/35) + - ❌ Open + - ❌ Open + - 🔄 95% (36/38) + - ❌ Open + - ❌ Open + + * - Req. Inspection + - 🔄 20% (2/10) + `bitmanipulation `__, + `concurrency `__, + `containers `__, + `filesystem `__, + `json `__, + `safecpp `__, + `result `__, + `srs `__, + `utils `__, + `feature-level `__ + - ❌ Open + - ❌ Open + - ❌ Open + `executor `__, + `orchestrator `__ + - ✅ Available (2/2) + `feature-level `__, + `kvs `__ + - ❌ Open + - ❌ Open + +Process Area 3 — Architecture Design +************************************ + +Feature and component architecture must be designed and inspected. +Work products: ``wp__feature_arch``, ``wp__component_arch``, ``wp__sw_arch_verification``. +See :ref:`arch_workflow`. + +.. rubric:: Process Status + +.. list-table:: + :header-rows: 1 + :class: compact-overview-table + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(architecture_design) + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(architecture_design) + +.. rubric:: Implementation status: 🔄 24% (5/21 deliverables complete) + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + :class: module-phase-tracker-table + + * - **Deliverable** + - **Baselibs** + - **Communication** + - **Logging** + - **Orchestrator** + - **Persistency** + - **Time** + - **Config Mgmt** + + * - Feature Architecture + - ✅ Available (4/4) + - ✅ Available (3/3) + - ✅ Available (4/4) + - 🔄 66% (4/6) + - ✅ Available (12/12) + - ❌ Open + - ❌ Open + + * - Component Architecture + - 🔄 98% (172/175) + - 🔄 94% (17/18) + - ✅ Available (3/3) + - 🔄 98% (42/43) + - 🔄 25% (1/4) + - ❌ Open + - ❌ Open + + * - Arch. Inspection + - 🔄 80% (8/10) + `bitmanipulation `__, + `concurrency `__, + `containers `__, + `filesystem `__, + `json `__, + `safecpp `__, + `result `__, + `srs `__, + `utils `__, + `feature-level `__ + - ❌ Open + - ❌ Open + - ❌ Open + `executor `__, + `orchestrator `__ + - ❌ Open + `feature-level `__, + `kvs `__ + - ❌ Open + - ❌ Open + +Process Area 4 — Implementation +******************************** + +Source code and detailed design must be implemented and inspected. +Work products: ``wp__sw_development_plan``, ``wp__sw_implementation``, ``wp__sw_implementation_inspection``. +See :ref:`workflow_implementation`. + +.. rubric:: Process Status + +.. list-table:: + :header-rows: 1 + :class: compact-overview-table + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(implementation) + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(implementation) + +.. rubric:: Implementation status: 🔄 50% (14/28 deliverables complete) + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + :class: module-phase-tracker-table + + * - **Deliverable** + - **Baselibs** + - **Communication** + - **Logging** + - **Orchestrator** + - **Persistency** + - **Time** + - **Config Mgmt** + + * - SW Development Plan + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + + * - Code + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + + * - Detailed Design + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + + * - Impl. Inspection + - ❌ Open + `bitmanipulation `__, + `concurrency `__, + `containers `__, + `filesystem `__, + `json `__, + `safecpp `__, + `result `__, + `srs `__, + `utils `__ + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + `kvs `__ + - ❌ Open + - ❌ Open + +Process Area 5 — Verification +***************************** + +All tests must be implemented and a module verification report must be approved. +Work products: ``wp__verification_sw_unit_test``, ``wp__verification_comp_int_test``, ``wp__verification_feat_int_test``, ``wp__verification_module_ver_report``. +See :ref:`verification_workflows`. + +.. rubric:: Process Status + +.. list-table:: + :header-rows: 1 + :class: compact-overview-table + + * - Process req. status + - ISO 26262 std_req status + - Req. verification status + * - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Valid, Draft, Invalid, Other + :colors: LimeGreen, Gold, LightCoral, LightGray + + type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags + type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags + type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other + :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver + :filter-func: needs_filters.std_req_status_for_area(verification) + - + + .. rst-class:: small-pie-cell + + .. needpie:: + :labels: Automated, Waiting for automation, Inspection list, Other + :colors: LimeGreen, Gold, LightBlue, LightGray + :filter-func: needs_filters.area_verification_status(verification) + +.. rubric:: Implementation status: 🔄 36% (10/28 deliverables complete) + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + :class: module-phase-tracker-table + + * - **Deliverable** + - **Baselibs** + - **Communication** + - **Logging** + - **Orchestrator** + - **Persistency** + - **Time** + - **Config Mgmt** + + * - Unit Tests + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + - ✅ Available + + * - Comp. Integration Tests + - ✅ Available + - ✅ Available + - ❌ Open + - ✅ Available + - ❌ Open + - ❌ Open + - ❌ Open + + * - Feature Integration Tests + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + + * - Module Verification Report + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + - ❌ Open + +Done Criteria +************* + +A module is considered **complete** when all of the following are true: + +#. All ``valid`` component requirements have **100% test coverage** (linked via ``FullyVerifies`` or ``PartiallyVerifies``). +#. All CI metadata checks pass (``TestType``, ``DerivationTechnique``, ``Description`` set on every test). +#. Static analysis has no open ``Critical`` or ``High`` findings. +#. The **Module Verification Report** (``wp__verification_module_ver_report``) is generated and approved by a Committer. diff --git a/process/standards/index.rst b/process/standards/index.rst index b4576a7a18..80831b4356 100644 --- a/process/standards/index.rst +++ b/process/standards/index.rst @@ -24,6 +24,7 @@ Standards & Requirements isopas8926/isopas8926 aspice_40/index isosae21434/isosae21434 + feature_and_process_status process_reqs_list/index Standards Coverage statistics diff --git a/process/standards/process_reqs_list/index.rst b/process/standards/process_reqs_list/index.rst index 164918beca..23a8742e55 100644 --- a/process/standards/process_reqs_list/index.rst +++ b/process/standards/process_reqs_list/index.rst @@ -17,27 +17,12 @@ Process Requirements List ######################### -Automation Status via Process Requirement Table -*********************************************** +Feature Status Tracker +********************** -All process requirements should be labelled with the priorization of automation implementation: +For a detailed overview of deliverable status per module and process area, see +:doc:`../feature_and_process_status`. -- A label "manual" means nothing to do, because it must be fulfilled manually (e.g. by filling attributes). It can be added a prio (to denote that this req is a must for v0.5 add "prio_1") -- A label "done_automation" means nothing to do, because it already works. Note that in docs-as-code repository there are tool requirements linking to the process requirements with an "Implemented" attribute. -- A label "prio_*_automation" means the prio 1, 2, ... labelled requirement shall be implemented in this order. Prio 1 is everything we need for the re-audit, prio 2 could be done manually as a fallback, prio 3 is nice to have ... - -Status Summary by Process Area -****************************** - -For a dynamic overview of process requirement counts per process area and status, -see: - -.. toctree:: - :maxdepth: 1 - - process_area_status_summary - process_area_compact_overview - process_status_overview .. needtable:: :style: table diff --git a/process/standards/process_reqs_list/process_area_compact_overview.rst b/process/standards/process_reqs_list/process_area_compact_overview.rst deleted file mode 100644 index bcff21dc3d..0000000000 --- a/process/standards/process_reqs_list/process_area_compact_overview.rst +++ /dev/null @@ -1,155 +0,0 @@ -.. - # ******************************************************************************* - # Copyright (c) 2025 Contributors to the Eclipse Foundation - # - # See the NOTICE file(s) distributed with this work for additional - # information regarding copyright ownership. - # - # This program and the accompanying materials are made available under the - # terms of the Apache License Version 2.0 which is available at - # https://www.apache.org/licenses/LICENSE-2.0 - # - # SPDX-License-Identifier: Apache-2.0 - # ******************************************************************************* - -.. _process_area_compact_overview: - -Process Area Status Overview (Compact) -####################################### - -The table below shows process requirement status, ISO 26262 std_req compliance -status, and requirement verification status per process area — one row per area, -without further splitting by work product. - -.. raw:: html - -
-
- Process req. status - Valid - Draft - Invalid - Other -
-
- ISO 26262 std_req status - Ok - Recommendation - Open - Action - Deviation - N/A - Other -
-
- Req. verification status - Automated - Waiting for automation - Inspection list - Other -
-
- -.. list-table:: Process area status overview (compact) - :header-rows: 1 - :widths: 20 27 27 26 - - * - Process area - - Process req. status - - ISO 26262 std_req status - - Req. verification status - * - Requirements Engineering - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags - - - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.area_verification_status(requirements_engineering) - - * - Architecture Design - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags - - - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(architecture_design) - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.area_verification_status(architecture_design) - - * - Implementation - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags - - - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(implementation) - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.area_verification_status(implementation) - - * - Verification - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags - - - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(verification) - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.area_verification_status(verification) diff --git a/process/standards/process_reqs_list/process_area_overview_table.rst b/process/standards/process_reqs_list/process_area_overview_table.rst deleted file mode 100644 index 1e966a8e26..0000000000 --- a/process/standards/process_reqs_list/process_area_overview_table.rst +++ /dev/null @@ -1,97 +0,0 @@ -.. - # ******************************************************************************* - # Copyright (c) 2025 Contributors to the Eclipse Foundation - # - # See the NOTICE file(s) distributed with this work for additional - # information regarding copyright ownership. - # - # This program and the accompanying materials are made available under the - # terms of the Apache License Version 2.0 which is available at - # https://www.apache.org/licenses/LICENSE-2.0 - # - # SPDX-License-Identifier: Apache-2.0 - # ******************************************************************************* - -Process Area Overview -********************* - -The table below shows process requirement status and ISO 26262 compliance per process area. - -.. list-table:: Process area overview - :header-rows: 1 - :widths: 20 40 40 - - * - Process area - - Process req. status - - ISO 26262 std_req status - * - Requirements Engineering - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags - - - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) - - * - Architecture Design - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags - - - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(architecture_design) - - * - Implementation - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags - - - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(implementation) - - * - Verification - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags - - - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(verification) diff --git a/process/standards/process_reqs_list/process_area_status_summary.rst b/process/standards/process_reqs_list/process_area_status_summary.rst deleted file mode 100644 index 3c3af43f3f..0000000000 --- a/process/standards/process_reqs_list/process_area_status_summary.rst +++ /dev/null @@ -1,1060 +0,0 @@ -.. - # ******************************************************************************* - # Copyright (c) 2025 Contributors to the Eclipse Foundation - # - # See the NOTICE file(s) distributed with this work for additional - # information regarding copyright ownership. - # - # This program and the accompanying materials are made available under the - # terms of the Apache License Version 2.0 which is available at - # https://www.apache.org/licenses/LICENSE-2.0 - # - # SPDX-License-Identifier: Apache-2.0 - # ******************************************************************************* - -.. _process_req_area_status_summary: - -Process Requirement Status by Process Area -########################################## - -The table below summarizes all internal ``gd_req`` needs found in each process area. -The charts are calculated dynamically during the Sphinx build via sphinx-needs -filters. - -Color mapping: - -- Green: valid -- Gold: draft -- Red: invalid -- Gray: other - -.. list-table:: Process requirement status overview - :header-rows: 1 - :widths: 20 40 40 - - * - Process area - - Process req. status - - Referenced std_req status - * - Requirements Engineering - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags - - - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) - - * - Architecture Design - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags - - - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(architecture_design) - - * - Implementation - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags - - - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(implementation) - - * - Verification - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags - - - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(verification) - -Referenced std_req Needs in "Other" Category -********************************************* - -The following ``std_req`` needs are referenced via ``complies`` from process -requirements but carry none of the recognized tags (``ok``, ``recommendation``, -``open``, ``action``, ``deviation``, ``n/a``). -The actual tags of each need are shown in brackets. - -.. needlist:: - - RECOGNIZED = {"ok", "recommendation", "open", "action", "deviation", "n/a"} - needs_by_id = {n["id"]: n for n in needs} - - std_req_ids = set() - for need in needs: - if ( - need.get("type") == "gd_req" - and not need.get("is_external", False) - ): - for ref_id in need.get("complies", []): - if ref_id.startswith("std_req__iso26262__"): - std_req_ids.add(ref_id) - - results = [] - for sid in sorted(std_req_ids): - n = needs_by_id.get(sid) - if n and not (RECOGNIZED & set(n.get("tags", []))): - results.append(n) - -Work Products by Process Area -***************************** - -The table below lists the official work products defined per process area. - -.. list-table:: Work product overview by process area - :header-rows: 1 - :widths: 28 72 - - * - Process area - - Work products - * - Requirements Engineering - - - - - :need:`wp__requirements_stkh` - - :need:`wp__requirements_sw_platform_aou` - - :need:`wp__requirements_feat` - - :need:`wp__requirements_feat_aou` - - :need:`wp__requirements_comp` - - :need:`wp__requirements_comp_aou` - - :need:`wp__requirements_proc_tool` - - :need:`wp__requirements_inspect` - * - Architecture Design - - - - - :need:`wp__platform_arch` - - :need:`wp__feature_arch` - - :need:`wp__component_arch` - - :need:`wp__sw_arch_verification` - * - Implementation - - - - - :need:`wp__sw_development_plan` - - :need:`wp__sw_implementation` - - :need:`wp__sw_implementation_inspection` - * - Verification - - - - - :need:`wp__verification_plan` - - :need:`wp__verification_platform_int_test` - - :need:`wp__verification_platform_ver_report` - - :need:`wp__verification_feat_int_test` - - :need:`wp__verification_module_ver_report` - - :need:`wp__verification_comp_int_test` - - :need:`wp__verification_sw_unit_test` - -Relevant Requirements by Work Product -************************************* - -The table below derives relevant process requirements for each work product. -The derivation is based on the relation process requirement ``satisfies`` -workflow and workflow ``output`` work product. - -.. list-table:: Relevant process requirements by work product - :header-rows: 1 - :widths: 15 22 32 31 - - * - Process area - - Work product - - Relevant requirements - - Status distribution - * - Requirements Engineering - - :need:`wp__requirements_stkh` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_stkh" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_stkh_req' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_stkh_req' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_stkh_req' in satisfies - * - - - :need:`wp__requirements_sw_platform_aou` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_sw_platform_aou" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_stkh_req' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_stkh_req' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_stkh_req' in satisfies - * - - - :need:`wp__requirements_feat` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_feat" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_req' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_feat_req' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_feat_req' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_feat_req' in satisfies - * - - - :need:`wp__requirements_feat_aou` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_feat_aou" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_aou' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_feat_aou' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_feat_aou' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_feat_aou' in satisfies - * - - - :need:`wp__requirements_comp` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_comp" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_req' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_comp_req' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_comp_req' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_comp_req' in satisfies - * - - - :need:`wp__requirements_comp_aou` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_comp_aou" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_aou' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_comp_aou' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_comp_aou' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_comp_aou' in satisfies - * - - - :need:`wp__requirements_proc_tool` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_proc_tool" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_proc_tool' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__req_proc_tool' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__req_proc_tool' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__req_proc_tool' in satisfies - * - - - :need:`wp__requirements_inspect` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "requirements_engineering" in workflow["tags"] and "wp__requirements_inspect" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__monitor_verify_requirements' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__monitor_verify_requirements' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__monitor_verify_requirements' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__monitor_verify_requirements' in satisfies - * - Architecture Design - - :need:`wp__platform_arch` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "architecture_design" in workflow["tags"] and "wp__platform_arch" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_platarch' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__cr_mt_platarch' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__cr_mt_platarch' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__cr_mt_platarch' in satisfies - * - - - :need:`wp__feature_arch` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "architecture_design" in workflow["tags"] and "wp__feature_arch" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_featarch' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__cr_mt_featarch' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__cr_mt_featarch' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__cr_mt_featarch' in satisfies - * - - - :need:`wp__component_arch` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "architecture_design" in workflow["tags"] and "wp__component_arch" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_comparch' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__cr_mt_comparch' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__cr_mt_comparch' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__cr_mt_comparch' in satisfies - * - - - :need:`wp__sw_arch_verification` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "architecture_design" in workflow["tags"] and "wp__sw_arch_verification" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__mr_vy_arch' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__mr_vy_arch' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__mr_vy_arch' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__mr_vy_arch' in satisfies - * - Implementation - - :need:`wp__sw_development_plan` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "implementation" in workflow["tags"] and "wp__sw_development_plan" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_development_plan' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__sw_development_plan' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__sw_development_plan' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__sw_development_plan' in satisfies - * - - - :need:`wp__sw_implementation` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "implementation" in workflow["tags"] and "wp__sw_implementation" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_detailed_design' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__sw_detailed_design' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__sw_detailed_design' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__sw_detailed_design' in satisfies - * - - - :need:`wp__sw_implementation_inspection` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "implementation" in workflow["tags"] and "wp__sw_implementation_inspection" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_verify_implementation' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__sw_verify_implementation' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__sw_verify_implementation' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__sw_verify_implementation' in satisfies - * - Verification - - :need:`wp__verification_comp_int_test` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_comp_int_test" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_comp_int_test' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__verification_comp_int_test' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__verification_comp_int_test' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__verification_comp_int_test' in satisfies - * - - - :need:`wp__verification_feat_int_test` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_feat_int_test" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_feat_int_test' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__verification_feat_int_test' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__verification_feat_int_test' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__verification_feat_int_test' in satisfies - * - - - :need:`wp__verification_platform_int_test` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_platform_int_test" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_int_test' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__verification_platform_int_test' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__verification_platform_int_test' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__verification_platform_int_test' in satisfies - * - - - :need:`wp__verification_plan` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_plan" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies) - type == 'gd_req' and is_external == False and status == 'draft' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies) - type == 'gd_req' and is_external == False and status == 'invalid' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies) - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies) - * - - - :need:`wp__verification_module_ver_report` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_module_ver_report" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_mod_ver_report' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__verification_mod_ver_report' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__verification_mod_ver_report' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__verification_mod_ver_report' in satisfies - * - - - :need:`wp__verification_platform_ver_report` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_platform_ver_report" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_ver_report' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__verification_platform_ver_report' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__verification_platform_ver_report' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__verification_platform_ver_report' in satisfies - * - - - :need:`wp__verification_sw_unit_test` - - - - .. needlist:: - - results = [] - requirement_ids = set() - - for requirement in needs.filter_types(["gd_req"]): - if requirement["is_external"] is False: - for workflow_id in requirement["satisfies"]: - workflow = needs.get_need(workflow_id) - if workflow and workflow["is_external"] is False and "verification" in workflow["tags"] and "wp__verification_sw_unit_test" in workflow["output"]: - if requirement["id"] not in requirement_ids: - requirement_ids.add(requirement["id"]) - results.append(requirement) - break - - results = sorted(results, key=lambda requirement: requirement["title"]) - - - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_unit_test' in satisfies - type == 'gd_req' and is_external == False and status == 'draft' and 'wf__verification_unit_test' in satisfies - type == 'gd_req' and is_external == False and status == 'invalid' and 'wf__verification_unit_test' in satisfies - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'wf__verification_unit_test' in satisfies - -Work Product Requirement Completion Status -****************************************** - -The table below shows for each work product the completion status of its -relevant process requirements. **Valid** (green) means all requirements are -valid; **Draft** (yellow) means at least one requirement is not yet valid. -The number shows valid / total requirements. - -.. list-table:: Work product requirement completion status - :header-rows: 1 - :widths: 15 35 50 - - * - Process area - - Work product - - Status - * - Requirements Engineering - - :need:`wp__requirements_stkh` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` - * - - - :need:`wp__requirements_sw_platform_aou` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` - * - - - :need:`wp__requirements_feat` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_req' in satisfies` - * - - - :need:`wp__requirements_feat_aou` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_aou' in satisfies` - * - - - :need:`wp__requirements_comp` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_req' in satisfies` - * - - - :need:`wp__requirements_comp_aou` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_aou' in satisfies` - * - - - :need:`wp__requirements_proc_tool` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_proc_tool' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_proc_tool' in satisfies` - * - - - :need:`wp__requirements_inspect` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__monitor_verify_requirements' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__monitor_verify_requirements' in satisfies` - * - Architecture Design - - :need:`wp__platform_arch` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_platarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_platarch' in satisfies` - * - - - :need:`wp__feature_arch` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_featarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_featarch' in satisfies` - * - - - :need:`wp__component_arch` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_comparch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_comparch' in satisfies` - * - - - :need:`wp__sw_arch_verification` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__mr_vy_arch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__mr_vy_arch' in satisfies` - * - Implementation - - :need:`wp__sw_development_plan` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_development_plan' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_development_plan' in satisfies` - * - - - :need:`wp__sw_implementation` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_detailed_design' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_detailed_design' in satisfies` - * - - - :need:`wp__sw_implementation_inspection` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_verify_implementation' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_verify_implementation' in satisfies` - * - Verification - - :need:`wp__verification_plan` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` / :need_count:`type == 'gd_req' and is_external == False and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` - * - - - :need:`wp__verification_platform_int_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_int_test' in satisfies` - * - - - :need:`wp__verification_platform_ver_report` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_ver_report' in satisfies` - * - - - :need:`wp__verification_feat_int_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_feat_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_feat_int_test' in satisfies` - * - - - :need:`wp__verification_module_ver_report` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_mod_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_mod_ver_report' in satisfies` - * - - - :need:`wp__verification_comp_int_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_comp_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_comp_int_test' in satisfies` - * - - - :need:`wp__verification_sw_unit_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_unit_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_unit_test' in satisfies` - -.. raw:: html - - - diff --git a/process/standards/process_reqs_list/process_status_overview.rst b/process/standards/process_reqs_list/process_status_overview.rst deleted file mode 100644 index 8456fe1ea2..0000000000 --- a/process/standards/process_reqs_list/process_status_overview.rst +++ /dev/null @@ -1,1359 +0,0 @@ -.. - # ******************************************************************************* - # Copyright (c) 2025 Contributors to the Eclipse Foundation - # - # See the NOTICE file(s) distributed with this work for additional - # information regarding copyright ownership. - # - # This program and the accompanying materials are made available under the - # terms of the Apache License Version 2.0 which is available at - # https://www.apache.org/licenses/LICENSE-2.0 - # - # SPDX-License-Identifier: Apache-2.0 - # ******************************************************************************* - -.. include:: tooling_definitions.rst - -.. _process_status_overview: - -Process Status Overview -####################### - -Combined Process Area and Work Product Status Overview -****************************************************** - -The table below combines process requirement status, ISO 26262 std_req -compliance status, work product completion status, and tooling in a single overview. -For each process area the pie charts appear on the first work product row; -subsequent rows carry only the work product and its completion badge. - -.. raw:: html - -
-
- Process req. status - Valid - Draft - Invalid - Other -
-
- ISO 26262 std_req status - Ok - Recommendation - Open - Action - Deviation - N/A - Other -
-
- Req. verification status - Automated - Waiting for automation - Inspection list - Other -
-
- -.. list-table:: Combined process area and work product status overview - :header-rows: 1 - :widths: 10 13 13 20 7 15 11 11 - :class: combined-status-table - - * - Process area - - Process req. status - - ISO 26262 std_req status - - Work product - - WP status - - Req. verification status - - Tooling - - Tooling Status - * - Requirements Engineering - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'requirements_engineering' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'requirements_engineering' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(requirements_engineering) - - - :need:`wp__requirements_stkh` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_stkh_req) - - |tooling_name_wp__requirements_stkh| - - |tooling_status_wp__requirements_stkh| - * - - - - - - - :need:`wp__requirements_sw_platform_aou` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_stkh_req) - - |tooling_name_wp__requirements_sw_platform_aou| - - |tooling_status_wp__requirements_sw_platform_aou| - * - - - - - - - :need:`wp__requirements_feat` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_req' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_feat_req) - - |tooling_name_wp__requirements_feat| - - |tooling_status_wp__requirements_feat| - * - - - - - - - :need:`wp__requirements_feat_aou` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_aou' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_feat_aou) - - |tooling_name_wp__requirements_feat_aou| - - |tooling_status_wp__requirements_feat_aou| - * - - - - - - - :need:`wp__requirements_comp` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_req' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_comp_req) - - |tooling_name_wp__requirements_comp| - - |tooling_status_wp__requirements_comp| - * - - - - - - - :need:`wp__requirements_comp_aou` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_aou' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_comp_aou) - - |tooling_name_wp__requirements_comp_aou| - - |tooling_status_wp__requirements_comp_aou| - * - - - - - - - :need:`wp__requirements_proc_tool` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_proc_tool' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_proc_tool' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_proc_tool) - - |tooling_name_wp__requirements_proc_tool| - - |tooling_status_wp__requirements_proc_tool| - * - - - - - - - :need:`wp__requirements_inspect` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__monitor_verify_requirements' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__monitor_verify_requirements' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__monitor_verify_requirements) - - |tooling_name_wp__requirements_inspect| - - |tooling_status_wp__requirements_inspect| - * - Architecture Design - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'architecture_design' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'architecture_design' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(architecture_design) - - - :need:`wp__platform_arch` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_platarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_platarch' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__cr_mt_platarch) - - |tooling_name_wp__platform_arch| - - |tooling_status_wp__platform_arch| - * - - - - - - - :need:`wp__feature_arch` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_featarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_featarch' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__cr_mt_featarch) - - |tooling_name_wp__feature_arch| - - |tooling_status_wp__feature_arch| - * - - - - - - - :need:`wp__component_arch` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_comparch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_comparch' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__cr_mt_comparch) - - |tooling_name_wp__component_arch| - - |tooling_status_wp__component_arch| - * - - - - - - - :need:`wp__sw_arch_verification` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__mr_vy_arch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__mr_vy_arch' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__mr_vy_arch) - - |tooling_name_wp__sw_arch_verification| - - |tooling_status_wp__sw_arch_verification| - * - Implementation - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'implementation' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'implementation' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'implementation' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'implementation' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(implementation) - - - :need:`wp__sw_development_plan` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_development_plan' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_development_plan' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__sw_development_plan) - - |tooling_name_wp__sw_development_plan| - - |tooling_status_wp__sw_development_plan| - * - - - - - - - :need:`wp__sw_implementation` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_detailed_design' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_detailed_design' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__sw_detailed_design) - - |tooling_name_wp__sw_implementation| - - |tooling_status_wp__sw_implementation| - * - - - - - - - :need:`wp__sw_implementation_inspection` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_verify_implementation' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_verify_implementation' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__sw_verify_implementation) - - |tooling_name_wp__sw_implementation_inspection| - - |tooling_status_wp__sw_implementation_inspection| - * - Verification - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Valid, Draft, Invalid, Other - :colors: LimeGreen, Gold, LightCoral, LightGray - - type == 'gd_req' and is_external == False and status == 'valid' and 'verification' in tags - type == 'gd_req' and is_external == False and status == 'draft' and 'verification' in tags - type == 'gd_req' and is_external == False and status == 'invalid' and 'verification' in tags - type == 'gd_req' and is_external == False and status not in ['valid', 'draft', 'invalid'] and 'verification' in tags - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Ok, Recommendation, Open, Action, Deviation, N/A, Other - :colors: LimeGreen, LightBlue, Gold, Orange, LightCoral, LightGray, Silver - :filter-func: needs_filters.std_req_status_for_area(verification) - - - :need:`wp__verification_plan` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` / :need_count:`type == 'gd_req' and is_external == False and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_plan|wf__verification_plan_maintain) - - |tooling_name_wp__verification_plan| - - |tooling_status_wp__verification_plan| - * - - - - - - - :need:`wp__verification_platform_int_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_int_test' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_platform_int_test) - - |tooling_name_wp__verification_platform_int_test| - - |tooling_status_wp__verification_platform_int_test| - * - - - - - - - :need:`wp__verification_platform_ver_report` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_ver_report' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_platform_ver_report) - - |tooling_name_wp__verification_platform_ver_report| - - |tooling_status_wp__verification_platform_ver_report| - * - - - - - - - :need:`wp__verification_feat_int_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_feat_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_feat_int_test' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_feat_int_test) - - |tooling_name_wp__verification_feat_int_test| - - |tooling_status_wp__verification_feat_int_test| - * - - - - - - - :need:`wp__verification_module_ver_report` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_mod_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_mod_ver_report' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_mod_ver_report) - - |tooling_name_wp__verification_module_ver_report| - - |tooling_status_wp__verification_module_ver_report| - * - - - - - - - :need:`wp__verification_comp_int_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_comp_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_comp_int_test' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_comp_int_test) - - |tooling_name_wp__verification_comp_int_test| - - |tooling_status_wp__verification_comp_int_test| - * - - - - - - - :need:`wp__verification_sw_unit_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_unit_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_unit_test' in satisfies` - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_unit_test) - - |tooling_name_wp__verification_sw_unit_test| - - |tooling_status_wp__verification_sw_unit_test| - -.. raw:: html - - - -Module Status by Work Product -***************************** - -The following tables provide module-specific placeholders for manual status tracking. -Rows are grouped by process area and list the related work products. - -.. raw:: html - -
-
- Done automation status - done_automation - rest -
-
- -Baselibs -======== - -.. list-table:: Baselibs module status - :header-rows: 1 - :widths: 50 25 25 - :class: module-status-table - - * - `Baselibs `_ - - Functional complete - - Done automation / rest - * - **Requirements Engineering** - - - - - * - :need:`wp__requirements_stkh` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_stkh_req) - * - :need:`wp__requirements_sw_platform_aou` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_stkh_req) - * - :need:`wp__requirements_feat` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_feat_req) - * - :need:`wp__requirements_feat_aou` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_feat_aou) - * - :need:`wp__requirements_comp` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_comp_req) - * - :need:`wp__requirements_comp_aou` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_comp_aou) - * - :need:`wp__requirements_proc_tool` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_proc_tool) - * - :need:`wp__requirements_inspect` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__monitor_verify_requirements) - * - **Architecture Design** - - - - - * - :need:`wp__platform_arch` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_platarch) - * - :need:`wp__feature_arch` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_featarch) - * - :need:`wp__component_arch` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_comparch) - * - :need:`wp__sw_arch_verification` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__mr_vy_arch) - * - **Implementation** - - - - - * - :need:`wp__sw_development_plan` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__sw_development_plan) - * - :need:`wp__sw_implementation` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__sw_detailed_design) - * - :need:`wp__sw_implementation_inspection` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__sw_verify_implementation) - * - **Verification** - - - - - * - :need:`wp__verification_plan` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_plan|wf__verification_plan_maintain) - * - :need:`wp__verification_platform_int_test` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_platform_int_test) - * - :need:`wp__verification_platform_ver_report` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_platform_ver_report) - * - :need:`wp__verification_feat_int_test` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_feat_int_test) - * - :need:`wp__verification_module_ver_report` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_mod_ver_report) - * - :need:`wp__verification_comp_int_test` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_comp_int_test) - * - :need:`wp__verification_sw_unit_test` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_unit_test) - -Communication -============= - -.. list-table:: Communication module status - :header-rows: 1 - :widths: 50 25 25 - :class: module-status-table - - * - `Communication `_ - - Functional complete - - Done automation / rest - * - **Requirements Engineering** - - - - - * - :need:`wp__requirements_stkh` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_stkh_req) - * - :need:`wp__requirements_sw_platform_aou` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_stkh_req) - * - :need:`wp__requirements_feat` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_feat_req) - * - :need:`wp__requirements_feat_aou` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_feat_aou) - * - :need:`wp__requirements_comp` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_comp_req) - * - :need:`wp__requirements_comp_aou` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_comp_aou) - * - :need:`wp__requirements_proc_tool` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_proc_tool) - * - :need:`wp__requirements_inspect` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__monitor_verify_requirements) - * - **Architecture Design** - - - - - * - :need:`wp__platform_arch` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_platarch) - * - :need:`wp__feature_arch` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_featarch) - * - :need:`wp__component_arch` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_comparch) - * - :need:`wp__sw_arch_verification` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__mr_vy_arch) - * - **Implementation** - - - - - * - :need:`wp__sw_development_plan` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__sw_development_plan) - * - :need:`wp__sw_implementation` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__sw_detailed_design) - * - :need:`wp__sw_implementation_inspection` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__sw_verify_implementation) - * - **Verification** - - - - - * - :need:`wp__verification_plan` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_plan|wf__verification_plan_maintain) - * - :need:`wp__verification_platform_int_test` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_platform_int_test) - * - :need:`wp__verification_platform_ver_report` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_platform_ver_report) - * - :need:`wp__verification_feat_int_test` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_feat_int_test) - * - :need:`wp__verification_module_ver_report` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_mod_ver_report) - * - :need:`wp__verification_comp_int_test` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_comp_int_test) - * - :need:`wp__verification_sw_unit_test` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_unit_test) - -Logging -======= - -.. list-table:: Logging module status - :header-rows: 1 - :widths: 50 25 25 - :class: module-status-table - - * - `Logging `_ - - Functional complete - - Done automation / rest - * - **Requirements Engineering** - - - - - * - :need:`wp__requirements_stkh` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_stkh_req) - * - :need:`wp__requirements_sw_platform_aou` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_stkh_req) - * - :need:`wp__requirements_feat` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_feat_req) - * - :need:`wp__requirements_feat_aou` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_feat_aou) - * - :need:`wp__requirements_comp` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_comp_req) - * - :need:`wp__requirements_comp_aou` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_comp_aou) - * - :need:`wp__requirements_proc_tool` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__req_proc_tool) - * - :need:`wp__requirements_inspect` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__monitor_verify_requirements) - * - **Architecture Design** - - - - - * - :need:`wp__platform_arch` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_platarch) - * - :need:`wp__feature_arch` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_featarch) - * - :need:`wp__component_arch` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__cr_mt_comparch) - * - :need:`wp__sw_arch_verification` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__mr_vy_arch) - * - **Implementation** - - - - - * - :need:`wp__sw_development_plan` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__sw_development_plan) - * - :need:`wp__sw_implementation` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__sw_detailed_design) - * - :need:`wp__sw_implementation_inspection` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__sw_verify_implementation) - * - **Verification** - - - - - * - :need:`wp__verification_plan` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_plan|wf__verification_plan_maintain) - * - :need:`wp__verification_platform_int_test` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_platform_int_test) - * - :need:`wp__verification_platform_ver_report` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_platform_ver_report) - * - :need:`wp__verification_feat_int_test` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_feat_int_test) - * - :need:`wp__verification_module_ver_report` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_mod_ver_report) - * - :need:`wp__verification_comp_int_test` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_comp_int_test) - * - :need:`wp__verification_sw_unit_test` - - - - - - .. rst-class:: small-pie-cell - - .. needpie:: - :labels: Done, Rest - :colors: LimeGreen, LightGray - :filter-func: needs_filters.wp_done_automation_status(wf__verification_unit_test) diff --git a/process/standards/process_reqs_list/tooling_definitions.rst b/process/standards/process_reqs_list/tooling_definitions.rst deleted file mode 100644 index 644779c69c..0000000000 --- a/process/standards/process_reqs_list/tooling_definitions.rst +++ /dev/null @@ -1,90 +0,0 @@ -.. - # ******************************************************************************* - # Copyright (c) 2025 Contributors to the Eclipse Foundation - # - # See the NOTICE file(s) distributed with this work for additional - # information regarding copyright ownership. - # - # This program and the accompanying materials are made available under the - # terms of the Apache License Version 2.0 which is available at - # https://www.apache.org/licenses/LICENSE-2.0 - # - # SPDX-License-Identifier: Apache-2.0 - # ******************************************************************************* - -.. Tooling definitions per work product. -.. Edit this file to fill in the tooling columns in the Process Status Overview table. -.. -.. Two substitutions per work product: -.. -.. Inline markup only (no block-level directives, no bullet lists). - -.. Requirements Engineering -.. |tooling_name_wp__requirements_stkh| replace:: sphinx-needs -.. |tooling_status_wp__requirements_stkh| replace:: available - -.. |tooling_name_wp__requirements_sw_platform_aou| replace:: sphinx-needs -.. |tooling_status_wp__requirements_sw_platform_aou| replace:: available - -.. |tooling_name_wp__requirements_feat| replace:: sphinx-needs -.. |tooling_status_wp__requirements_feat| replace:: available - -.. |tooling_name_wp__requirements_feat_aou| replace:: sphinx-needs -.. |tooling_status_wp__requirements_feat_aou| replace:: available - -.. |tooling_name_wp__requirements_comp| replace:: sphinx-needs -.. |tooling_status_wp__requirements_comp| replace:: available - -.. |tooling_name_wp__requirements_comp_aou| replace:: sphinx-needs -.. |tooling_status_wp__requirements_comp_aou| replace:: available - -.. |tooling_name_wp__requirements_proc_tool| replace:: sphinx-needs -.. |tooling_status_wp__requirements_proc_tool| replace:: available - -.. |tooling_name_wp__requirements_inspect| replace:: sphinx-needs -.. |tooling_status_wp__requirements_inspect| replace:: available - -.. Architecture Design -.. |tooling_name_wp__platform_arch| replace:: sphinx-needs, PlantUML -.. |tooling_status_wp__platform_arch| replace:: available - -.. |tooling_name_wp__feature_arch| replace:: sphinx-needs, PlantUML -.. |tooling_status_wp__feature_arch| replace:: available - -.. |tooling_name_wp__component_arch| replace:: sphinx-needs, PlantUML -.. |tooling_status_wp__component_arch| replace:: available - -.. |tooling_name_wp__sw_arch_verification| replace:: sphinx-needs -.. |tooling_status_wp__sw_arch_verification| replace:: not available - -.. Implementation -.. |tooling_name_wp__sw_development_plan| replace:: sphinx-needs -.. |tooling_status_wp__sw_development_plan| replace:: not available - -.. |tooling_name_wp__sw_implementation| replace:: C++/RUST toolchain -.. |tooling_status_wp__sw_implementation| replace:: available - -.. |tooling_name_wp__sw_implementation_inspection| replace:: sphinx-needs -.. |tooling_status_wp__sw_implementation_inspection| replace:: available - -.. Verification -.. |tooling_name_wp__verification_plan| replace:: sphinx-needs -.. |tooling_status_wp__verification_plan| replace:: not available - -.. |tooling_name_wp__verification_platform_int_test| replace:: ITF -.. |tooling_status_wp__verification_platform_int_test| replace:: available - -.. |tooling_name_wp__verification_platform_ver_report| replace:: sphinx-needs -.. |tooling_status_wp__verification_platform_ver_report| replace:: not available - -.. |tooling_name_wp__verification_feat_int_test| replace:: ITF -.. |tooling_status_wp__verification_feat_int_test| replace:: available - -.. |tooling_name_wp__verification_module_ver_report| replace:: sphinx-needs -.. |tooling_status_wp__verification_module_ver_report| replace:: not available - -.. |tooling_name_wp__verification_comp_int_test| replace:: ITF -.. |tooling_status_wp__verification_comp_int_test| replace:: available - -.. |tooling_name_wp__verification_sw_unit_test| replace:: gtest -.. |tooling_status_wp__verification_sw_unit_test| replace:: available diff --git a/process/standards/process_reqs_list/tooling_table.rst b/process/standards/process_reqs_list/tooling_table.rst deleted file mode 100644 index c7b9e4309d..0000000000 --- a/process/standards/process_reqs_list/tooling_table.rst +++ /dev/null @@ -1,115 +0,0 @@ -.. - # ******************************************************************************* - # Copyright (c) 2025 Contributors to the Eclipse Foundation - # - # See the NOTICE file(s) distributed with this work for additional - # information regarding copyright ownership. - # - # This program and the accompanying materials are made available under the - # terms of the Apache License Version 2.0 which is available at - # https://www.apache.org/licenses/LICENSE-2.0 - # - # SPDX-License-Identifier: Apache-2.0 - # ******************************************************************************* - -Tooling Overview -**************** - -Edit this table to define the tooling used per work product and its current status. - -.. list-table:: Tooling overview per work product - :header-rows: 1 - :widths: 20 25 30 25 - - * - Process area - - Work product - - Tooling - - Tooling Status - * - Requirements Engineering - - :need:`wp__requirements_stkh` - - sphinx-needs - - available - * - - - :need:`wp__requirements_sw_platform_aou` - - sphinx-needs - - available - * - - - :need:`wp__requirements_feat` - - sphinx-needs - - available - * - - - :need:`wp__requirements_feat_aou` - - sphinx-needs - - available - * - - - :need:`wp__requirements_comp` - - sphinx-needs - - available - * - - - :need:`wp__requirements_comp_aou` - - sphinx-needs - - available - * - - - :need:`wp__requirements_proc_tool` - - sphinx-needs - - available - * - - - :need:`wp__requirements_inspect` - - sphinx-needs - - available - * - Architecture Design - - :need:`wp__platform_arch` - - sphinx-needs, PlantUML - - available - * - - - :need:`wp__feature_arch` - - sphinx-needs, PlantUML - - available - * - - - :need:`wp__component_arch` - - sphinx-needs, PlantUML - - available - * - - - :need:`wp__sw_arch_verification` - - sphinx-needs, PlantUML - - available - * - Implementation - - :need:`wp__sw_development_plan` - - n/a - - n/a - * - - - :need:`wp__sw_implementation` - - C++, RUST toolchains - - available - * - - - :need:`wp__sw_implementation_inspection` - - sphinx-needs - - available - * - Verification - - :need:`wp__verification_plan` - - n/a - - n/a - * - - - :need:`wp__verification_platform_int_test` - - ITF - - available - * - - - :need:`wp__verification_platform_ver_report` - - sphinx-needs - - not available - * - - - :need:`wp__verification_feat_int_test` - - ITF - - available - * - - - :need:`wp__verification_module_ver_report` - - sphinx-needs - - not available - * - - - :need:`wp__verification_comp_int_test` - - ITF - - available - * - - - :need:`wp__verification_sw_unit_test` - - gtest - - available diff --git a/process/standards/process_reqs_list/wp_status_table.rst b/process/standards/process_reqs_list/wp_status_table.rst deleted file mode 100644 index d6b0643f32..0000000000 --- a/process/standards/process_reqs_list/wp_status_table.rst +++ /dev/null @@ -1,313 +0,0 @@ -.. - # ******************************************************************************* - # Copyright (c) 2025 Contributors to the Eclipse Foundation - # - # See the NOTICE file(s) distributed with this work for additional - # information regarding copyright ownership. - # - # This program and the accompanying materials are made available under the - # terms of the Apache License Version 2.0 which is available at - # https://www.apache.org/licenses/LICENSE-2.0 - # - # SPDX-License-Identifier: Apache-2.0 - # ******************************************************************************* - -Work Product Process Overview -***************************** - -The table below shows work product completion status and requirement verification status. - -.. list-table:: Work product process overview - :header-rows: 1 - :widths: 20 25 15 40 - - * - Process area - - Work product - - WP status - - Req. verification status - * - Requirements Engineering - - :need:`wp__requirements_stkh` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_stkh_req) - * - - - :need:`wp__requirements_sw_platform_aou` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_stkh_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_stkh_req' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_stkh_req) - * - - - :need:`wp__requirements_feat` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_req' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_feat_req) - * - - - :need:`wp__requirements_feat_aou` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_feat_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_feat_aou' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_feat_aou) - * - - - :need:`wp__requirements_comp` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_req' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_req' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_comp_req) - * - - - :need:`wp__requirements_comp_aou` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_comp_aou' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_comp_aou' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_comp_aou) - * - - - :need:`wp__requirements_proc_tool` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__req_proc_tool' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__req_proc_tool' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__req_proc_tool) - * - - - :need:`wp__requirements_inspect` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__monitor_verify_requirements' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__monitor_verify_requirements' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__monitor_verify_requirements) - * - Architecture Design - - :need:`wp__platform_arch` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_platarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_platarch' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__cr_mt_platarch) - * - - - :need:`wp__feature_arch` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_featarch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_featarch' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__cr_mt_featarch) - * - - - :need:`wp__component_arch` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__cr_mt_comparch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__cr_mt_comparch' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__cr_mt_comparch) - * - - - :need:`wp__sw_arch_verification` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__mr_vy_arch' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__mr_vy_arch' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__mr_vy_arch) - * - Implementation - - :need:`wp__sw_development_plan` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_development_plan' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_development_plan' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__sw_development_plan) - * - - - :need:`wp__sw_implementation` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_detailed_design' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_detailed_design' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__sw_detailed_design) - * - - - :need:`wp__sw_implementation_inspection` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__sw_verify_implementation' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__sw_verify_implementation' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__sw_verify_implementation) - * - Verification - - :need:`wp__verification_plan` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` / :need_count:`type == 'gd_req' and is_external == False and ('wf__verification_plan' in satisfies or 'wf__verification_plan_maintain' in satisfies)` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_plan|wf__verification_plan_maintain) - * - - - :need:`wp__verification_platform_int_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_int_test' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_platform_int_test) - * - - - :need:`wp__verification_platform_ver_report` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_platform_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_platform_ver_report' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_platform_ver_report) - * - - - :need:`wp__verification_feat_int_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_feat_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_feat_int_test' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_feat_int_test) - * - - - :need:`wp__verification_module_ver_report` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_mod_ver_report' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_mod_ver_report' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_mod_ver_report) - * - - - :need:`wp__verification_comp_int_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_comp_int_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_comp_int_test' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_comp_int_test) - * - - - :need:`wp__verification_sw_unit_test` - - - - .. rst-class:: wp-status-cell - - :need_count:`type == 'gd_req' and is_external == False and status == 'valid' and 'wf__verification_unit_test' in satisfies` / :need_count:`type == 'gd_req' and is_external == False and 'wf__verification_unit_test' in satisfies` - - - - .. needpie:: - :labels: Automated, Waiting for automation, Inspection list, Other - :colors: LimeGreen, Gold, LightBlue, LightGray - :filter-func: needs_filters.wp_tag_status(wf__verification_unit_test) From 70357830c42ad538ea46bacb2979c4653864e04f Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Fri, 8 May 2026 10:18:22 +0000 Subject: [PATCH 06/15] feat: add Lifecycle and Security/Crypto columns to feature_and_process_status MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add two new module columns to all 5 Process Area tracker tables: - Lifecycle (eclipse-score/lifecycle, #909): PA3 feat_arc 🔄94%, comp_arc 🔄94%, code ✅, unit+comp_int tests ✅, detailed design 🔄50% - Security/Crypto (eclipse-score/inc_security_crypto, #905): feat_req ✅(42/42), all other deliverables ❌ Open Updated implementation status lines: - PA1: 7/7 → 9/9 ✅ - PA2: 29%→26% (7/27) - PA3: 24%→19% (5/27) - PA4: 50%→47% (17/36) - PA5: 36%→33% (12/36) Updated SKILL.md: module table, known CRs, description, RST snapshot --- .github/skills/module-phase-tracker/SKILL.md | 56 ++++++++++++++++--- .../standards/feature_and_process_status.rst | 50 +++++++++++++++-- 2 files changed, 94 insertions(+), 12 deletions(-) diff --git a/.github/skills/module-phase-tracker/SKILL.md b/.github/skills/module-phase-tracker/SKILL.md index 0d2391b15b..236c260d37 100644 --- a/.github/skills/module-phase-tracker/SKILL.md +++ b/.github/skills/module-phase-tracker/SKILL.md @@ -1,6 +1,6 @@ --- name: module-phase-tracker -description: "Update the Feature and Process Status table in feature_and_process_status.rst. Use when: checking module status, updating feature status tracker, refreshing work product status, deriving completion status from eclipse-score GitHub repos for Baselibs, Communication, Logging, Orchestrator, Persistency, Time, Config Management." +description: "Update the Feature and Process Status table in feature_and_process_status.rst. Use when: checking module status, updating feature status tracker, refreshing work product status, deriving completion status from eclipse-score GitHub repos for Baselibs, Communication, Logging, Orchestrator, Persistency, Time, Config Management, Lifecycle, Security/Crypto." argument-hint: "optional: module name or 'all'" --- @@ -116,6 +116,8 @@ The pie chart diagrams are computed live by sphinx-needs at build time — they | Persistency | `eclipse-score/persistency` — has `docs/persistency/kvs/` with comp_req/comp_arc ✅ | `docs/features/persistency` | | Time | `eclipse-score/inc_time` (no sphinx-needs RST so far) | `docs/features/time/docs` | | Config Management | `eclipse-score/config_management` (no sphinx-needs RST so far) | `docs/features/configuration` | +| Lifecycle | `eclipse-score/lifecycle` — has `docs/module/health_monitor/` (comp_arc_sta/dyn valid=15/16), `detailed_design/` (dd_sta/dyn valid=1/2), `tests/integration/` | `docs/modules/lifecycle/index.rst`, `docs/features/lifecycle/**` | +| Security/Crypto | `eclipse-score/inc_security_crypto` — `src/` has no implementation yet; `docs/index.rst` with stkh_req | `docs/features/security_crypto/**` | **How to search all repos for a module:** ```python @@ -147,7 +149,7 @@ for repo in ["eclipse-score/score", "eclipse-score/"]: - **✅ Available**: A closed GitHub Issue with "Feature Request" or "Contribution Request" for the module exists in `eclipse-score/score` - **❌ Open**: No such issue found -Known closed CRs: Baselibs (#549), Communication (#69), Logging (#68), Orchestrator (#273), Persistency (#95), Time (#910), Config Management (#754, #1764) +Known closed CRs: Baselibs (#549), Communication (#69), Logging (#68), Orchestrator (#273), Persistency (#95), Time (#910), Config Management (#754, #1764), Lifecycle (#909), Security/Crypto (#905) ### Process Area 2 — Feature Requirements - **✅ Available**: 100% of individual needs elements (e.g. `.. feat_req::`) inside the requirements doc have `:status: valid` @@ -398,7 +400,7 @@ See :ref:`chm_change_workflows`. :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(change_management) -.. rubric:: Implementation status: ✅ Available (7/7 deliverables complete) +.. rubric:: Implementation status: ✅ Available (9/9 deliverables complete) .. list-table:: :header-rows: 1 @@ -413,6 +415,8 @@ See :ref:`chm_change_workflows`. - **Persistency** - **Time** - **Config Mgmt** + - **Lifecycle** + - **Security/Crypto** * - CR approved - ✅ Available @@ -422,6 +426,8 @@ See :ref:`chm_change_workflows`. - ✅ Available - ✅ Available - ✅ Available + - ✅ Available + - ✅ Available Process Area 2 — Requirements Engineering ***************************************** @@ -468,7 +474,7 @@ See :ref:`requirements_workflows`. :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(requirements_engineering) -.. rubric:: Implementation status: 🔄 29% (6/21 deliverables complete) +.. rubric:: Implementation status: 🔄 26% (7/27 deliverables complete) .. list-table:: :header-rows: 1 @@ -483,6 +489,8 @@ See :ref:`requirements_workflows`. - **Persistency** - **Time** - **Config Mgmt** + - **Lifecycle** + - **Security/Crypto** * - Feature Requirements - 🔄 93% (14/15) @@ -492,6 +500,8 @@ See :ref:`requirements_workflows`. - ✅ Available (40/40) - ✅ Available (15/15) - ✅ Available (13/13) + - ❌ Open + - ✅ Available (42/42) * - Component Requirements - 🔄 93% (124/134) @@ -501,6 +511,8 @@ See :ref:`requirements_workflows`. - 🔄 95% (36/38) - ❌ Open - ❌ Open + - ❌ Open + - ❌ Open * - Req. Inspection - 🔄 20% (2/10) @@ -524,6 +536,8 @@ See :ref:`requirements_workflows`. `kvs `__ - ❌ Open - ❌ Open + - ❌ Open + - ❌ Open Process Area 3 — Architecture Design ************************************ @@ -570,7 +584,7 @@ See :ref:`arch_workflow`. :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(architecture_design) -.. rubric:: Implementation status: 🔄 24% (5/21 deliverables complete) +.. rubric:: Implementation status: 🔄 19% (5/27 deliverables complete) .. list-table:: :header-rows: 1 @@ -585,6 +599,8 @@ See :ref:`arch_workflow`. - **Persistency** - **Time** - **Config Mgmt** + - **Lifecycle** + - **Security/Crypto** * - Feature Architecture - ✅ Available (4/4) @@ -594,6 +610,8 @@ See :ref:`arch_workflow`. - ✅ Available (12/12) - ❌ Open - ❌ Open + - 🔄 94% (30/32) + - ❌ Open * - Component Architecture - 🔄 98% (172/175) @@ -603,6 +621,8 @@ See :ref:`arch_workflow`. - 🔄 25% (1/4) - ❌ Open - ❌ Open + - 🔄 94% (15/16) + - ❌ Open * - Arch. Inspection - 🔄 80% (8/10) @@ -626,6 +646,8 @@ See :ref:`arch_workflow`. `kvs `__ - ❌ Open - ❌ Open + - ❌ Open + - ❌ Open Process Area 4 — Implementation ******************************** @@ -672,7 +694,7 @@ See :ref:`workflow_implementation`. :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(implementation) -.. rubric:: Implementation status: 🔄 50% (14/28 deliverables complete) +.. rubric:: Implementation status: 🔄 47% (17/36 deliverables complete) .. list-table:: :header-rows: 1 @@ -687,6 +709,8 @@ See :ref:`workflow_implementation`. - **Persistency** - **Time** - **Config Mgmt** + - **Lifecycle** + - **Security/Crypto** * - SW Development Plan - ✅ Available @@ -696,6 +720,8 @@ See :ref:`workflow_implementation`. - ✅ Available - ✅ Available - ✅ Available + - ✅ Available + - ✅ Available * - Code - ✅ Available @@ -705,6 +731,8 @@ See :ref:`workflow_implementation`. - ✅ Available - ✅ Available - ✅ Available + - ✅ Available + - ❌ Open * - Detailed Design - ❌ Open @@ -714,6 +742,8 @@ See :ref:`workflow_implementation`. - ❌ Open - ❌ Open - ❌ Open + - 🔄 50% (1/2) + - ❌ Open * - Impl. Inspection - ❌ Open @@ -733,6 +763,8 @@ See :ref:`workflow_implementation`. `kvs `__ - ❌ Open - ❌ Open + - ❌ Open + - ❌ Open Process Area 5 — Verification ***************************** @@ -779,7 +811,7 @@ See :ref:`verification_workflows`. :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(verification) -.. rubric:: Implementation status: 🔄 36% (10/28 deliverables complete) +.. rubric:: Implementation status: 🔄 33% (12/36 deliverables complete) .. list-table:: :header-rows: 1 @@ -794,6 +826,8 @@ See :ref:`verification_workflows`. - **Persistency** - **Time** - **Config Mgmt** + - **Lifecycle** + - **Security/Crypto** * - Unit Tests - ✅ Available @@ -803,6 +837,8 @@ See :ref:`verification_workflows`. - ✅ Available - ✅ Available - ✅ Available + - ✅ Available + - ❌ Open * - Comp. Integration Tests - ✅ Available @@ -812,6 +848,8 @@ See :ref:`verification_workflows`. - ❌ Open - ❌ Open - ❌ Open + - ✅ Available + - ❌ Open * - Feature Integration Tests - ❌ Open @@ -821,6 +859,8 @@ See :ref:`verification_workflows`. - ❌ Open - ❌ Open - ❌ Open + - ❌ Open + - ❌ Open * - Module Verification Report - ❌ Open @@ -830,6 +870,8 @@ See :ref:`verification_workflows`. - ❌ Open - ❌ Open - ❌ Open + - ❌ Open + - ❌ Open Done Criteria ************* diff --git a/process/standards/feature_and_process_status.rst b/process/standards/feature_and_process_status.rst index 047a3ec44f..02f0751b19 100644 --- a/process/standards/feature_and_process_status.rst +++ b/process/standards/feature_and_process_status.rst @@ -104,7 +104,7 @@ See :ref:`chm_change_workflows`. :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(change_management) -.. rubric:: Implementation status: ✅ Available (7/7 deliverables complete) +.. rubric:: Implementation status: ✅ Available (9/9 deliverables complete) .. list-table:: :header-rows: 1 @@ -119,6 +119,8 @@ See :ref:`chm_change_workflows`. - **Persistency** - **Time** - **Config Mgmt** + - **Lifecycle** + - **Security/Crypto** * - CR approved - ✅ Available @@ -128,6 +130,8 @@ See :ref:`chm_change_workflows`. - ✅ Available - ✅ Available - ✅ Available + - ✅ Available + - ✅ Available Process Area 2 — Requirements Engineering ***************************************** @@ -174,7 +178,7 @@ See :ref:`requirements_workflows`. :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(requirements_engineering) -.. rubric:: Implementation status: 🔄 29% (6/21 deliverables complete) +.. rubric:: Implementation status: 🔄 26% (7/27 deliverables complete) .. list-table:: :header-rows: 1 @@ -189,6 +193,8 @@ See :ref:`requirements_workflows`. - **Persistency** - **Time** - **Config Mgmt** + - **Lifecycle** + - **Security/Crypto** * - Feature Requirements - 🔄 93% (14/15) @@ -198,6 +204,8 @@ See :ref:`requirements_workflows`. - ✅ Available (40/40) - ✅ Available (15/15) - ✅ Available (13/13) + - ❌ Open + - ✅ Available (42/42) * - Component Requirements - 🔄 93% (124/134) @@ -207,6 +215,8 @@ See :ref:`requirements_workflows`. - 🔄 95% (36/38) - ❌ Open - ❌ Open + - ❌ Open + - ❌ Open * - Req. Inspection - 🔄 20% (2/10) @@ -230,6 +240,8 @@ See :ref:`requirements_workflows`. `kvs `__ - ❌ Open - ❌ Open + - ❌ Open + - ❌ Open Process Area 3 — Architecture Design ************************************ @@ -276,7 +288,7 @@ See :ref:`arch_workflow`. :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(architecture_design) -.. rubric:: Implementation status: 🔄 24% (5/21 deliverables complete) +.. rubric:: Implementation status: 🔄 19% (5/27 deliverables complete) .. list-table:: :header-rows: 1 @@ -291,6 +303,8 @@ See :ref:`arch_workflow`. - **Persistency** - **Time** - **Config Mgmt** + - **Lifecycle** + - **Security/Crypto** * - Feature Architecture - ✅ Available (4/4) @@ -300,6 +314,8 @@ See :ref:`arch_workflow`. - ✅ Available (12/12) - ❌ Open - ❌ Open + - 🔄 94% (30/32) + - ❌ Open * - Component Architecture - 🔄 98% (172/175) @@ -309,6 +325,8 @@ See :ref:`arch_workflow`. - 🔄 25% (1/4) - ❌ Open - ❌ Open + - 🔄 94% (15/16) + - ❌ Open * - Arch. Inspection - 🔄 80% (8/10) @@ -332,6 +350,8 @@ See :ref:`arch_workflow`. `kvs `__ - ❌ Open - ❌ Open + - ❌ Open + - ❌ Open Process Area 4 — Implementation ******************************** @@ -378,7 +398,7 @@ See :ref:`workflow_implementation`. :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(implementation) -.. rubric:: Implementation status: 🔄 50% (14/28 deliverables complete) +.. rubric:: Implementation status: 🔄 47% (17/36 deliverables complete) .. list-table:: :header-rows: 1 @@ -393,6 +413,8 @@ See :ref:`workflow_implementation`. - **Persistency** - **Time** - **Config Mgmt** + - **Lifecycle** + - **Security/Crypto** * - SW Development Plan - ✅ Available @@ -402,6 +424,8 @@ See :ref:`workflow_implementation`. - ✅ Available - ✅ Available - ✅ Available + - ✅ Available + - ✅ Available * - Code - ✅ Available @@ -411,6 +435,8 @@ See :ref:`workflow_implementation`. - ✅ Available - ✅ Available - ✅ Available + - ✅ Available + - ❌ Open * - Detailed Design - ❌ Open @@ -420,6 +446,8 @@ See :ref:`workflow_implementation`. - ❌ Open - ❌ Open - ❌ Open + - 🔄 50% (1/2) + - ❌ Open * - Impl. Inspection - ❌ Open @@ -439,6 +467,8 @@ See :ref:`workflow_implementation`. `kvs `__ - ❌ Open - ❌ Open + - ❌ Open + - ❌ Open Process Area 5 — Verification ***************************** @@ -485,7 +515,7 @@ See :ref:`verification_workflows`. :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(verification) -.. rubric:: Implementation status: 🔄 36% (10/28 deliverables complete) +.. rubric:: Implementation status: 🔄 33% (12/36 deliverables complete) .. list-table:: :header-rows: 1 @@ -500,6 +530,8 @@ See :ref:`verification_workflows`. - **Persistency** - **Time** - **Config Mgmt** + - **Lifecycle** + - **Security/Crypto** * - Unit Tests - ✅ Available @@ -509,6 +541,8 @@ See :ref:`verification_workflows`. - ✅ Available - ✅ Available - ✅ Available + - ✅ Available + - ❌ Open * - Comp. Integration Tests - ✅ Available @@ -518,6 +552,8 @@ See :ref:`verification_workflows`. - ❌ Open - ❌ Open - ❌ Open + - ✅ Available + - ❌ Open * - Feature Integration Tests - ❌ Open @@ -527,6 +563,8 @@ See :ref:`verification_workflows`. - ❌ Open - ❌ Open - ❌ Open + - ❌ Open + - ❌ Open * - Module Verification Report - ❌ Open @@ -536,6 +574,8 @@ See :ref:`verification_workflows`. - ❌ Open - ❌ Open - ❌ Open + - ❌ Open + - ❌ Open Done Criteria ************* From 349af0376b3f5ca48cc61ec4a15ae06dc0e03683 Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Fri, 8 May 2026 10:30:21 +0000 Subject: [PATCH 07/15] =?UTF-8?q?refactor:=20transpose=20implementation=20?= =?UTF-8?q?status=20tables=20=E2=80=94=20modules=20as=20rows,=20deliverabl?= =?UTF-8?q?es=20as=20columns?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/skills/module-phase-tracker/SKILL.md | 321 ++++++++++-------- .../standards/feature_and_process_status.rst | 306 +++++++++-------- 2 files changed, 341 insertions(+), 286 deletions(-) diff --git a/.github/skills/module-phase-tracker/SKILL.md b/.github/skills/module-phase-tracker/SKILL.md index 236c260d37..88def4b813 100644 --- a/.github/skills/module-phase-tracker/SKILL.md +++ b/.github/skills/module-phase-tracker/SKILL.md @@ -72,16 +72,11 @@ See :ref:``. :stub-columns: 1 :class: module-phase-tracker-table - * - **Deliverable** - - **Baselibs** - - **Communication** - - **Logging** - - **Orchestrator** - - **Persistency** - - **Time** - - **Config Mgmt** - - * - + * - **Module** + - **** + - **** + + * - - ... ``` @@ -407,26 +402,34 @@ See :ref:`chm_change_workflows`. :stub-columns: 1 :class: module-phase-tracker-table - * - **Deliverable** - - **Baselibs** - - **Communication** - - **Logging** - - **Orchestrator** - - **Persistency** - - **Time** - - **Config Mgmt** - - **Lifecycle** - - **Security/Crypto** + * - **Module** + - **CR approved** - * - CR approved + * - Baselibs - ✅ Available + + * - Communication - ✅ Available + + * - Logging - ✅ Available + + * - Orchestrator - ✅ Available + + * - Persistency - ✅ Available + + * - Time - ✅ Available + + * - Config Mgmt - ✅ Available + + * - Lifecycle - ✅ Available + + * - Security/Crypto - ✅ Available Process Area 2 — Requirements Engineering @@ -481,40 +484,14 @@ See :ref:`requirements_workflows`. :stub-columns: 1 :class: module-phase-tracker-table - * - **Deliverable** - - **Baselibs** - - **Communication** - - **Logging** - - **Orchestrator** - - **Persistency** - - **Time** - - **Config Mgmt** - - **Lifecycle** - - **Security/Crypto** - - * - Feature Requirements - - 🔄 93% (14/15) - - ✅ Available (50/50) - - ✅ Available (46/46) - - 🔄 84% (26/31) - - ✅ Available (40/40) - - ✅ Available (15/15) - - ✅ Available (13/13) - - ❌ Open - - ✅ Available (42/42) + * - **Module** + - **Feature Requirements** + - **Component Requirements** + - **Req. Inspection** - * - Component Requirements + * - Baselibs + - 🔄 93% (14/15) - 🔄 93% (124/134) - - 🔄 97% (34/35) - - ❌ Open - - ❌ Open - - 🔄 95% (36/38) - - ❌ Open - - ❌ Open - - ❌ Open - - ❌ Open - - * - Req. Inspection - 🔄 20% (2/10) `bitmanipulation `__, `concurrency `__, @@ -526,19 +503,51 @@ See :ref:`requirements_workflows`. `srs `__, `utils `__, `feature-level `__ + + * - Communication + - ✅ Available (50/50) + - 🔄 97% (34/35) + - ❌ Open + + * - Logging + - ✅ Available (46/46) + - ❌ Open - ❌ Open + + * - Orchestrator + - 🔄 84% (26/31) - ❌ Open - ❌ Open `executor `__, `orchestrator `__ + + * - Persistency + - ✅ Available (40/40) + - 🔄 95% (36/38) - ✅ Available (2/2) `feature-level `__, `kvs `__ + + * - Time + - ✅ Available (15/15) + - ❌ Open + - ❌ Open + + * - Config Mgmt + - ✅ Available (13/13) + - ❌ Open - ❌ Open + + * - Lifecycle - ❌ Open - ❌ Open - ❌ Open + * - Security/Crypto + - ✅ Available (42/42) + - ❌ Open + - ❌ Open + Process Area 3 — Architecture Design ************************************ @@ -591,40 +600,14 @@ See :ref:`arch_workflow`. :stub-columns: 1 :class: module-phase-tracker-table - * - **Deliverable** - - **Baselibs** - - **Communication** - - **Logging** - - **Orchestrator** - - **Persistency** - - **Time** - - **Config Mgmt** - - **Lifecycle** - - **Security/Crypto** - - * - Feature Architecture - - ✅ Available (4/4) - - ✅ Available (3/3) - - ✅ Available (4/4) - - 🔄 66% (4/6) - - ✅ Available (12/12) - - ❌ Open - - ❌ Open - - 🔄 94% (30/32) - - ❌ Open + * - **Module** + - **Feature Architecture** + - **Component Architecture** + - **Arch. Inspection** - * - Component Architecture + * - Baselibs + - ✅ Available (4/4) - 🔄 98% (172/175) - - 🔄 94% (17/18) - - ✅ Available (3/3) - - 🔄 98% (42/43) - - 🔄 25% (1/4) - - ❌ Open - - ❌ Open - - 🔄 94% (15/16) - - ❌ Open - - * - Arch. Inspection - 🔄 80% (8/10) `bitmanipulation `__, `concurrency `__, @@ -636,16 +619,48 @@ See :ref:`arch_workflow`. `srs `__, `utils `__, `feature-level `__ + + * - Communication + - ✅ Available (3/3) + - 🔄 94% (17/18) - ❌ Open + + * - Logging + - ✅ Available (4/4) + - ✅ Available (3/3) - ❌ Open + + * - Orchestrator + - 🔄 66% (4/6) + - 🔄 98% (42/43) - ❌ Open `executor `__, `orchestrator `__ + + * - Persistency + - ✅ Available (12/12) + - 🔄 25% (1/4) - ❌ Open `feature-level `__, `kvs `__ + + * - Time + - ❌ Open - ❌ Open - ❌ Open + + * - Config Mgmt + - ❌ Open + - ❌ Open + - ❌ Open + + * - Lifecycle + - 🔄 94% (30/32) + - 🔄 94% (15/16) + - ❌ Open + + * - Security/Crypto + - ❌ Open - ❌ Open - ❌ Open @@ -701,67 +716,72 @@ See :ref:`workflow_implementation`. :stub-columns: 1 :class: module-phase-tracker-table - * - **Deliverable** - - **Baselibs** - - **Communication** - - **Logging** - - **Orchestrator** - - **Persistency** - - **Time** - - **Config Mgmt** - - **Lifecycle** - - **Security/Crypto** + * - **Module** + - **SW Development Plan** + - **Code** + - **Detailed Design** + - **Impl. Inspection** - * - SW Development Plan - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available + * - Baselibs - ✅ Available - ✅ Available + - ❌ Open + - ❌ Open + `bitmanipulation `__, + `concurrency `__, + `containers `__, + `filesystem `__, + `json `__, + `safecpp `__, + `result `__, + `srs `__, + `utils `__ - * - Code - - ✅ Available - - ✅ Available + * - Communication - ✅ Available - ✅ Available + - ❌ Open + - ❌ Open + + * - Logging - ✅ Available - ✅ Available + - ❌ Open + - ❌ Open + + * - Orchestrator - ✅ Available - ✅ Available - ❌ Open - - * - Detailed Design - ❌ Open + + * - Persistency + - ✅ Available + - ✅ Available - ❌ Open - ❌ Open + `kvs `__ + + * - Time + - ✅ Available + - ✅ Available - ❌ Open - ❌ Open + + * - Config Mgmt + - ✅ Available + - ✅ Available - ❌ Open - ❌ Open + + * - Lifecycle + - ✅ Available + - ✅ Available - 🔄 50% (1/2) - ❌ Open - * - Impl. Inspection - - ❌ Open - `bitmanipulation `__, - `concurrency `__, - `containers `__, - `filesystem `__, - `json `__, - `safecpp `__, - `result `__, - `srs `__, - `utils `__ - - ❌ Open - - ❌ Open - - ❌ Open - - ❌ Open - `kvs `__ - - ❌ Open + * - Security/Crypto + - ✅ Available - ❌ Open - ❌ Open - ❌ Open @@ -818,56 +838,61 @@ See :ref:`verification_workflows`. :stub-columns: 1 :class: module-phase-tracker-table - * - **Deliverable** - - **Baselibs** - - **Communication** - - **Logging** - - **Orchestrator** - - **Persistency** - - **Time** - - **Config Mgmt** - - **Lifecycle** - - **Security/Crypto** + * - **Module** + - **Unit Tests** + - **Comp. Integration Tests** + - **Feature Integration Tests** + - **Module Verification Report** - * - Unit Tests - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available + * - Baselibs - ✅ Available - ✅ Available - ❌ Open + - ❌ Open - * - Comp. Integration Tests + * - Communication - ✅ Available - ✅ Available - ❌ Open - - ✅ Available - ❌ Open + + * - Logging + - ✅ Available - ❌ Open - ❌ Open - - ✅ Available - ❌ Open - * - Feature Integration Tests - - ❌ Open + * - Orchestrator + - ✅ Available + - ✅ Available - ❌ Open - ❌ Open + + * - Persistency + - ✅ Available - ❌ Open - ❌ Open - ❌ Open + + * - Time + - ✅ Available - ❌ Open - ❌ Open - ❌ Open - * - Module Verification Report + * - Config Mgmt + - ✅ Available - ❌ Open - ❌ Open - ❌ Open + + * - Lifecycle + - ✅ Available + - ✅ Available - ❌ Open - ❌ Open + + * - Security/Crypto - ❌ Open - ❌ Open - ❌ Open diff --git a/process/standards/feature_and_process_status.rst b/process/standards/feature_and_process_status.rst index 02f0751b19..e883b4329c 100644 --- a/process/standards/feature_and_process_status.rst +++ b/process/standards/feature_and_process_status.rst @@ -111,26 +111,34 @@ See :ref:`chm_change_workflows`. :stub-columns: 1 :class: module-phase-tracker-table - * - **Deliverable** - - **Baselibs** - - **Communication** - - **Logging** - - **Orchestrator** - - **Persistency** - - **Time** - - **Config Mgmt** - - **Lifecycle** - - **Security/Crypto** + * - **Module** + - **CR approved** - * - CR approved + * - Baselibs - ✅ Available + + * - Communication - ✅ Available + + * - Logging - ✅ Available + + * - Orchestrator - ✅ Available + + * - Persistency - ✅ Available + + * - Time - ✅ Available + + * - Config Mgmt - ✅ Available + + * - Lifecycle - ✅ Available + + * - Security/Crypto - ✅ Available Process Area 2 — Requirements Engineering @@ -185,40 +193,14 @@ See :ref:`requirements_workflows`. :stub-columns: 1 :class: module-phase-tracker-table - * - **Deliverable** - - **Baselibs** - - **Communication** - - **Logging** - - **Orchestrator** - - **Persistency** - - **Time** - - **Config Mgmt** - - **Lifecycle** - - **Security/Crypto** - - * - Feature Requirements - - 🔄 93% (14/15) - - ✅ Available (50/50) - - ✅ Available (46/46) - - 🔄 84% (26/31) - - ✅ Available (40/40) - - ✅ Available (15/15) - - ✅ Available (13/13) - - ❌ Open - - ✅ Available (42/42) + * - **Module** + - **Feature Requirements** + - **Component Requirements** + - **Req. Inspection** - * - Component Requirements + * - Baselibs + - 🔄 93% (14/15) - 🔄 93% (124/134) - - 🔄 97% (34/35) - - ❌ Open - - ❌ Open - - 🔄 95% (36/38) - - ❌ Open - - ❌ Open - - ❌ Open - - ❌ Open - - * - Req. Inspection - 🔄 20% (2/10) `bitmanipulation `__, `concurrency `__, @@ -230,16 +212,48 @@ See :ref:`requirements_workflows`. `srs `__, `utils `__, `feature-level `__ + + * - Communication + - ✅ Available (50/50) + - 🔄 97% (34/35) + - ❌ Open + + * - Logging + - ✅ Available (46/46) - ❌ Open - ❌ Open + + * - Orchestrator + - 🔄 84% (26/31) + - ❌ Open - ❌ Open `executor `__, `orchestrator `__ + + * - Persistency + - ✅ Available (40/40) + - 🔄 95% (36/38) - ✅ Available (2/2) `feature-level `__, `kvs `__ + + * - Time + - ✅ Available (15/15) - ❌ Open - ❌ Open + + * - Config Mgmt + - ✅ Available (13/13) + - ❌ Open + - ❌ Open + + * - Lifecycle + - ❌ Open + - ❌ Open + - ❌ Open + + * - Security/Crypto + - ✅ Available (42/42) - ❌ Open - ❌ Open @@ -295,40 +309,14 @@ See :ref:`arch_workflow`. :stub-columns: 1 :class: module-phase-tracker-table - * - **Deliverable** - - **Baselibs** - - **Communication** - - **Logging** - - **Orchestrator** - - **Persistency** - - **Time** - - **Config Mgmt** - - **Lifecycle** - - **Security/Crypto** - - * - Feature Architecture - - ✅ Available (4/4) - - ✅ Available (3/3) - - ✅ Available (4/4) - - 🔄 66% (4/6) - - ✅ Available (12/12) - - ❌ Open - - ❌ Open - - 🔄 94% (30/32) - - ❌ Open + * - **Module** + - **Feature Architecture** + - **Component Architecture** + - **Arch. Inspection** - * - Component Architecture + * - Baselibs + - ✅ Available (4/4) - 🔄 98% (172/175) - - 🔄 94% (17/18) - - ✅ Available (3/3) - - 🔄 98% (42/43) - - 🔄 25% (1/4) - - ❌ Open - - ❌ Open - - 🔄 94% (15/16) - - ❌ Open - - * - Arch. Inspection - 🔄 80% (8/10) `bitmanipulation `__, `concurrency `__, @@ -340,17 +328,49 @@ See :ref:`arch_workflow`. `srs `__, `utils `__, `feature-level `__ + + * - Communication + - ✅ Available (3/3) + - 🔄 94% (17/18) - ❌ Open + + * - Logging + - ✅ Available (4/4) + - ✅ Available (3/3) - ❌ Open + + * - Orchestrator + - 🔄 66% (4/6) + - 🔄 98% (42/43) - ❌ Open `executor `__, `orchestrator `__ + + * - Persistency + - ✅ Available (12/12) + - 🔄 25% (1/4) - ❌ Open `feature-level `__, `kvs `__ + + * - Time + - ❌ Open + - ❌ Open + - ❌ Open + + * - Config Mgmt - ❌ Open - ❌ Open - ❌ Open + + * - Lifecycle + - 🔄 94% (30/32) + - 🔄 94% (15/16) + - ❌ Open + + * - Security/Crypto + - ❌ Open + - ❌ Open - ❌ Open Process Area 4 — Implementation @@ -405,67 +425,72 @@ See :ref:`workflow_implementation`. :stub-columns: 1 :class: module-phase-tracker-table - * - **Deliverable** - - **Baselibs** - - **Communication** - - **Logging** - - **Orchestrator** - - **Persistency** - - **Time** - - **Config Mgmt** - - **Lifecycle** - - **Security/Crypto** + * - **Module** + - **SW Development Plan** + - **Code** + - **Detailed Design** + - **Impl. Inspection** - * - SW Development Plan - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available + * - Baselibs - ✅ Available - ✅ Available + - ❌ Open + - ❌ Open + `bitmanipulation `__, + `concurrency `__, + `containers `__, + `filesystem `__, + `json `__, + `safecpp `__, + `result `__, + `srs `__, + `utils `__ - * - Code - - ✅ Available - - ✅ Available + * - Communication - ✅ Available - ✅ Available + - ❌ Open + - ❌ Open + + * - Logging - ✅ Available - ✅ Available + - ❌ Open + - ❌ Open + + * - Orchestrator - ✅ Available - ✅ Available - ❌ Open - - * - Detailed Design - ❌ Open + + * - Persistency + - ✅ Available + - ✅ Available - ❌ Open - ❌ Open + `kvs `__ + + * - Time + - ✅ Available + - ✅ Available - ❌ Open - ❌ Open + + * - Config Mgmt + - ✅ Available + - ✅ Available - ❌ Open - ❌ Open + + * - Lifecycle + - ✅ Available + - ✅ Available - 🔄 50% (1/2) - ❌ Open - * - Impl. Inspection - - ❌ Open - `bitmanipulation `__, - `concurrency `__, - `containers `__, - `filesystem `__, - `json `__, - `safecpp `__, - `result `__, - `srs `__, - `utils `__ - - ❌ Open - - ❌ Open - - ❌ Open - - ❌ Open - `kvs `__ - - ❌ Open + * - Security/Crypto + - ✅ Available - ❌ Open - ❌ Open - ❌ Open @@ -522,56 +547,61 @@ See :ref:`verification_workflows`. :stub-columns: 1 :class: module-phase-tracker-table - * - **Deliverable** - - **Baselibs** - - **Communication** - - **Logging** - - **Orchestrator** - - **Persistency** - - **Time** - - **Config Mgmt** - - **Lifecycle** - - **Security/Crypto** + * - **Module** + - **Unit Tests** + - **Comp. Integration Tests** + - **Feature Integration Tests** + - **Module Verification Report** - * - Unit Tests - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available - - ✅ Available + * - Baselibs - ✅ Available - ✅ Available - ❌ Open + - ❌ Open - * - Comp. Integration Tests + * - Communication - ✅ Available - ✅ Available - ❌ Open - - ✅ Available - ❌ Open + + * - Logging + - ✅ Available - ❌ Open - ❌ Open - - ✅ Available - ❌ Open - * - Feature Integration Tests - - ❌ Open + * - Orchestrator + - ✅ Available + - ✅ Available - ❌ Open - ❌ Open + + * - Persistency + - ✅ Available - ❌ Open - ❌ Open - ❌ Open + + * - Time + - ✅ Available - ❌ Open - ❌ Open - ❌ Open - * - Module Verification Report + * - Config Mgmt + - ✅ Available - ❌ Open - ❌ Open - ❌ Open + + * - Lifecycle + - ✅ Available + - ✅ Available - ❌ Open - ❌ Open + + * - Security/Crypto - ❌ Open - ❌ Open - ❌ Open From 4c302e6223868edea65e382e757782a705fcc8b7 Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Fri, 8 May 2026 10:36:05 +0000 Subject: [PATCH 08/15] =?UTF-8?q?docs(skill):=20fix=20'add=20a=20column'?= =?UTF-8?q?=20=E2=86=92=20'add=20a=20row'=20for=20new=20module=20instructi?= =?UTF-8?q?on=20after=20table=20transpose?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/skills/module-phase-tracker/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/skills/module-phase-tracker/SKILL.md b/.github/skills/module-phase-tracker/SKILL.md index 88def4b813..8c133debd8 100644 --- a/.github/skills/module-phase-tracker/SKILL.md +++ b/.github/skills/module-phase-tracker/SKILL.md @@ -260,7 +260,7 @@ Known closed CRs: Baselibs (#549), Communication (#69), Logging (#68), Orchestra - Binary rows (Code, SW Dev Plan, Unit Tests, CR): count each module cell as 1 deliverable - Do NOT include an Overall row inside the table — the status line is placed as plain text before the `.. list-table::` directive -5. **Adding a new module** — add a row to the Modules and Repos table above, define its `feature_path` and `docs_path`, then add a column to the tracker table. +5. **Adding a new module** — add a row to the Modules and Repos table above, define its `feature_path` and `docs_path`, then add a row to each tracker table (one `* - ` block per PA). ## Interpretation Notes From 01df0039e4ae25e884cc8b5a7302c2c701081566 Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Fri, 8 May 2026 10:42:49 +0000 Subject: [PATCH 09/15] =?UTF-8?q?feat:=20add=20test=20file=20counts=20to?= =?UTF-8?q?=20PA5=20table;=20fix=20Time=20comp-int=20to=20=E2=9C=85=20(3?= =?UTF-8?q?=20files=20found)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unit test counts per module: - Baselibs: 395, Communication: 227, Logging: 63, Orchestrator/Lifecycle: 3 - Persistency: 14, Time: 46, Config Mgmt: 19 Comp. integration test counts: - Baselibs: 1, Communication: 44, Orchestrator/Lifecycle: 7, Time: 3 (was incorrectly ❌) Security/Crypto tests are placeholder stubs (test_main.cpp tests inline add()) → stays ❌ Open PA5 status: 33% → 36% (13/36) due to Time comp-int fix --- .github/skills/module-phase-tracker/SKILL.md | 28 +++++++++---------- .../standards/feature_and_process_status.rst | 28 +++++++++---------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/.github/skills/module-phase-tracker/SKILL.md b/.github/skills/module-phase-tracker/SKILL.md index 8c133debd8..e86f4193ee 100644 --- a/.github/skills/module-phase-tracker/SKILL.md +++ b/.github/skills/module-phase-tracker/SKILL.md @@ -831,7 +831,7 @@ See :ref:`verification_workflows`. :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(verification) -.. rubric:: Implementation status: 🔄 33% (12/36 deliverables complete) +.. rubric:: Implementation status: 🔄 36% (13/36 deliverables complete) .. list-table:: :header-rows: 1 @@ -845,50 +845,50 @@ See :ref:`verification_workflows`. - **Module Verification Report** * - Baselibs - - ✅ Available - - ✅ Available + - ✅ Available (395 test files) + - ✅ Available (1 test file) - ❌ Open - ❌ Open * - Communication - - ✅ Available - - ✅ Available + - ✅ Available (227 test files) + - ✅ Available (44 test files) - ❌ Open - ❌ Open * - Logging - - ✅ Available + - ✅ Available (63 test files) - ❌ Open - ❌ Open - ❌ Open * - Orchestrator - - ✅ Available - - ✅ Available + - ✅ Available (3 test files) + - ✅ Available (7 test files) - ❌ Open - ❌ Open * - Persistency - - ✅ Available + - ✅ Available (14 test files) - ❌ Open - ❌ Open - ❌ Open * - Time - - ✅ Available - - ❌ Open + - ✅ Available (46 test files) + - ✅ Available (3 test files) - ❌ Open - ❌ Open * - Config Mgmt - - ✅ Available + - ✅ Available (19 test files) - ❌ Open - ❌ Open - ❌ Open * - Lifecycle - - ✅ Available - - ✅ Available + - ✅ Available (3 test files) + - ✅ Available (7 test files) - ❌ Open - ❌ Open diff --git a/process/standards/feature_and_process_status.rst b/process/standards/feature_and_process_status.rst index e883b4329c..e74a2242e2 100644 --- a/process/standards/feature_and_process_status.rst +++ b/process/standards/feature_and_process_status.rst @@ -540,7 +540,7 @@ See :ref:`verification_workflows`. :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(verification) -.. rubric:: Implementation status: 🔄 33% (12/36 deliverables complete) +.. rubric:: Implementation status: 🔄 36% (13/36 deliverables complete) .. list-table:: :header-rows: 1 @@ -554,50 +554,50 @@ See :ref:`verification_workflows`. - **Module Verification Report** * - Baselibs - - ✅ Available - - ✅ Available + - ✅ Available (395 test files) + - ✅ Available (1 test file) - ❌ Open - ❌ Open * - Communication - - ✅ Available - - ✅ Available + - ✅ Available (227 test files) + - ✅ Available (44 test files) - ❌ Open - ❌ Open * - Logging - - ✅ Available + - ✅ Available (63 test files) - ❌ Open - ❌ Open - ❌ Open * - Orchestrator - - ✅ Available - - ✅ Available + - ✅ Available (3 test files) + - ✅ Available (7 test files) - ❌ Open - ❌ Open * - Persistency - - ✅ Available + - ✅ Available (14 test files) - ❌ Open - ❌ Open - ❌ Open * - Time - - ✅ Available - - ❌ Open + - ✅ Available (46 test files) + - ✅ Available (3 test files) - ❌ Open - ❌ Open * - Config Mgmt - - ✅ Available + - ✅ Available (19 test files) - ❌ Open - ❌ Open - ❌ Open * - Lifecycle - - ✅ Available - - ✅ Available + - ✅ Available (3 test files) + - ✅ Available (7 test files) - ❌ Open - ❌ Open From 46504dfcdded046229b63f742786f19a40e45e97 Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Fri, 8 May 2026 10:51:59 +0000 Subject: [PATCH 10/15] feat: replace test file counts with actual test case counts in PA5 table Count TEST()/TEST_F()/TEST_P() macros, def test_() functions, and #[test] attributes across all module repos: - Baselibs: 4,663 unit / 13 comp-int - Communication: 2,374 unit / 42 comp-int - Logging: 619 unit / 0 comp-int - Orchestrator: 2 unit / 9 comp-int (eclipse-score/lifecycle repo) - Persistency: 138 unit / 0 comp-int - Time: 296 unit / 11 comp-int - Config Mgmt: 143 unit / 0 comp-int - Lifecycle: 2 unit / 9 comp-int (eclipse-score/lifecycle repo) - Security/Crypto: open (placeholder stubs only) --- .github/skills/module-phase-tracker/SKILL.md | 26 +++++++++---------- .../standards/feature_and_process_status.rst | 26 +++++++++---------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/skills/module-phase-tracker/SKILL.md b/.github/skills/module-phase-tracker/SKILL.md index e86f4193ee..5fa4026ca4 100644 --- a/.github/skills/module-phase-tracker/SKILL.md +++ b/.github/skills/module-phase-tracker/SKILL.md @@ -845,50 +845,50 @@ See :ref:`verification_workflows`. - **Module Verification Report** * - Baselibs - - ✅ Available (395 test files) - - ✅ Available (1 test file) + - ✅ Available (4,663 tests) + - ✅ Available (13 tests) - ❌ Open - ❌ Open * - Communication - - ✅ Available (227 test files) - - ✅ Available (44 test files) + - ✅ Available (2,374 tests) + - ✅ Available (42 tests) - ❌ Open - ❌ Open * - Logging - - ✅ Available (63 test files) + - ✅ Available (619 tests) - ❌ Open - ❌ Open - ❌ Open * - Orchestrator - - ✅ Available (3 test files) - - ✅ Available (7 test files) + - ✅ Available (2 tests) + - ✅ Available (9 tests) - ❌ Open - ❌ Open * - Persistency - - ✅ Available (14 test files) + - ✅ Available (138 tests) - ❌ Open - ❌ Open - ❌ Open * - Time - - ✅ Available (46 test files) - - ✅ Available (3 test files) + - ✅ Available (296 tests) + - ✅ Available (11 tests) - ❌ Open - ❌ Open * - Config Mgmt - - ✅ Available (19 test files) + - ✅ Available (143 tests) - ❌ Open - ❌ Open - ❌ Open * - Lifecycle - - ✅ Available (3 test files) - - ✅ Available (7 test files) + - ✅ Available (2 tests) + - ✅ Available (9 tests) - ❌ Open - ❌ Open diff --git a/process/standards/feature_and_process_status.rst b/process/standards/feature_and_process_status.rst index e74a2242e2..b60959f5c3 100644 --- a/process/standards/feature_and_process_status.rst +++ b/process/standards/feature_and_process_status.rst @@ -554,50 +554,50 @@ See :ref:`verification_workflows`. - **Module Verification Report** * - Baselibs - - ✅ Available (395 test files) - - ✅ Available (1 test file) + - ✅ Available (4,663 tests) + - ✅ Available (13 tests) - ❌ Open - ❌ Open * - Communication - - ✅ Available (227 test files) - - ✅ Available (44 test files) + - ✅ Available (2,374 tests) + - ✅ Available (42 tests) - ❌ Open - ❌ Open * - Logging - - ✅ Available (63 test files) + - ✅ Available (619 tests) - ❌ Open - ❌ Open - ❌ Open * - Orchestrator - - ✅ Available (3 test files) - - ✅ Available (7 test files) + - ✅ Available (2 tests) + - ✅ Available (9 tests) - ❌ Open - ❌ Open * - Persistency - - ✅ Available (14 test files) + - ✅ Available (138 tests) - ❌ Open - ❌ Open - ❌ Open * - Time - - ✅ Available (46 test files) - - ✅ Available (3 test files) + - ✅ Available (296 tests) + - ✅ Available (11 tests) - ❌ Open - ❌ Open * - Config Mgmt - - ✅ Available (19 test files) + - ✅ Available (143 tests) - ❌ Open - ❌ Open - ❌ Open * - Lifecycle - - ✅ Available (3 test files) - - ✅ Available (7 test files) + - ✅ Available (2 tests) + - ✅ Available (9 tests) - ❌ Open - ❌ Open From 3dc1380f267cec0b4206e76ffd20da0f8d4430bb Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Fri, 8 May 2026 10:55:23 +0000 Subject: [PATCH 11/15] feat: add implementation LOC counts to Code column in PA4 table LOC counted from source files (excl. tests, docs, mocks): - Baselibs: ~119,400 LOC - Communication: ~71,300 LOC - Logging: ~22,900 LOC - Orchestrator: ~38,300 LOC (shared lifecycle repo) - Persistency: ~8,700 LOC - Time: ~11,700 LOC - Config Mgmt: ~5,400 LOC - Lifecycle: ~38,300 LOC (shared lifecycle repo) - Security/Crypto: no src yet --- .github/skills/module-phase-tracker/SKILL.md | 16 ++++++++-------- process/standards/feature_and_process_status.rst | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/skills/module-phase-tracker/SKILL.md b/.github/skills/module-phase-tracker/SKILL.md index 5fa4026ca4..5adabb5592 100644 --- a/.github/skills/module-phase-tracker/SKILL.md +++ b/.github/skills/module-phase-tracker/SKILL.md @@ -724,7 +724,7 @@ See :ref:`workflow_implementation`. * - Baselibs - ✅ Available - - ✅ Available + - ✅ Available (~119,400 LOC) - ❌ Open - ❌ Open `bitmanipulation `__, @@ -739,44 +739,44 @@ See :ref:`workflow_implementation`. * - Communication - ✅ Available - - ✅ Available + - ✅ Available (~71,300 LOC) - ❌ Open - ❌ Open * - Logging - ✅ Available - - ✅ Available + - ✅ Available (~22,900 LOC) - ❌ Open - ❌ Open * - Orchestrator - ✅ Available - - ✅ Available + - ✅ Available (~38,300 LOC) - ❌ Open - ❌ Open * - Persistency - ✅ Available - - ✅ Available + - ✅ Available (~8,700 LOC) - ❌ Open - ❌ Open `kvs `__ * - Time - ✅ Available - - ✅ Available + - ✅ Available (~11,700 LOC) - ❌ Open - ❌ Open * - Config Mgmt - ✅ Available - - ✅ Available + - ✅ Available (~5,400 LOC) - ❌ Open - ❌ Open * - Lifecycle - ✅ Available - - ✅ Available + - ✅ Available (~38,300 LOC) - 🔄 50% (1/2) - ❌ Open diff --git a/process/standards/feature_and_process_status.rst b/process/standards/feature_and_process_status.rst index b60959f5c3..66aef7c6a7 100644 --- a/process/standards/feature_and_process_status.rst +++ b/process/standards/feature_and_process_status.rst @@ -433,7 +433,7 @@ See :ref:`workflow_implementation`. * - Baselibs - ✅ Available - - ✅ Available + - ✅ Available (~119,400 LOC) - ❌ Open - ❌ Open `bitmanipulation `__, @@ -448,44 +448,44 @@ See :ref:`workflow_implementation`. * - Communication - ✅ Available - - ✅ Available + - ✅ Available (~71,300 LOC) - ❌ Open - ❌ Open * - Logging - ✅ Available - - ✅ Available + - ✅ Available (~22,900 LOC) - ❌ Open - ❌ Open * - Orchestrator - ✅ Available - - ✅ Available + - ✅ Available (~38,300 LOC) - ❌ Open - ❌ Open * - Persistency - ✅ Available - - ✅ Available + - ✅ Available (~8,700 LOC) - ❌ Open - ❌ Open `kvs `__ * - Time - ✅ Available - - ✅ Available + - ✅ Available (~11,700 LOC) - ❌ Open - ❌ Open * - Config Mgmt - ✅ Available - - ✅ Available + - ✅ Available (~5,400 LOC) - ❌ Open - ❌ Open * - Lifecycle - ✅ Available - - ✅ Available + - ✅ Available (~38,300 LOC) - 🔄 50% (1/2) - ❌ Open From b244e51a9b39fac270684ac1bc8e7ec1768898be Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Fri, 8 May 2026 11:01:06 +0000 Subject: [PATCH 12/15] feat: add repo links to Code column in PA4 table --- .github/skills/module-phase-tracker/SKILL.md | 16 ++++++++-------- process/standards/feature_and_process_status.rst | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/skills/module-phase-tracker/SKILL.md b/.github/skills/module-phase-tracker/SKILL.md index 5adabb5592..94db7b5578 100644 --- a/.github/skills/module-phase-tracker/SKILL.md +++ b/.github/skills/module-phase-tracker/SKILL.md @@ -724,7 +724,7 @@ See :ref:`workflow_implementation`. * - Baselibs - ✅ Available - - ✅ Available (~119,400 LOC) + - ✅ Available (~119,400 LOC) `baselibs `__ - ❌ Open - ❌ Open `bitmanipulation `__, @@ -739,44 +739,44 @@ See :ref:`workflow_implementation`. * - Communication - ✅ Available - - ✅ Available (~71,300 LOC) + - ✅ Available (~71,300 LOC) `communication `__ - ❌ Open - ❌ Open * - Logging - ✅ Available - - ✅ Available (~22,900 LOC) + - ✅ Available (~22,900 LOC) `logging `__ - ❌ Open - ❌ Open * - Orchestrator - ✅ Available - - ✅ Available (~38,300 LOC) + - ✅ Available (~38,300 LOC) `lifecycle `__ - ❌ Open - ❌ Open * - Persistency - ✅ Available - - ✅ Available (~8,700 LOC) + - ✅ Available (~8,700 LOC) `persistency `__ - ❌ Open - ❌ Open `kvs `__ * - Time - ✅ Available - - ✅ Available (~11,700 LOC) + - ✅ Available (~11,700 LOC) `inc_time `__ - ❌ Open - ❌ Open * - Config Mgmt - ✅ Available - - ✅ Available (~5,400 LOC) + - ✅ Available (~5,400 LOC) `config_management `__ - ❌ Open - ❌ Open * - Lifecycle - ✅ Available - - ✅ Available (~38,300 LOC) + - ✅ Available (~38,300 LOC) `lifecycle `__ - 🔄 50% (1/2) - ❌ Open diff --git a/process/standards/feature_and_process_status.rst b/process/standards/feature_and_process_status.rst index 66aef7c6a7..32d3a4546e 100644 --- a/process/standards/feature_and_process_status.rst +++ b/process/standards/feature_and_process_status.rst @@ -433,7 +433,7 @@ See :ref:`workflow_implementation`. * - Baselibs - ✅ Available - - ✅ Available (~119,400 LOC) + - ✅ Available (~119,400 LOC) `baselibs `__ - ❌ Open - ❌ Open `bitmanipulation `__, @@ -448,44 +448,44 @@ See :ref:`workflow_implementation`. * - Communication - ✅ Available - - ✅ Available (~71,300 LOC) + - ✅ Available (~71,300 LOC) `communication `__ - ❌ Open - ❌ Open * - Logging - ✅ Available - - ✅ Available (~22,900 LOC) + - ✅ Available (~22,900 LOC) `logging `__ - ❌ Open - ❌ Open * - Orchestrator - ✅ Available - - ✅ Available (~38,300 LOC) + - ✅ Available (~38,300 LOC) `lifecycle `__ - ❌ Open - ❌ Open * - Persistency - ✅ Available - - ✅ Available (~8,700 LOC) + - ✅ Available (~8,700 LOC) `persistency `__ - ❌ Open - ❌ Open `kvs `__ * - Time - ✅ Available - - ✅ Available (~11,700 LOC) + - ✅ Available (~11,700 LOC) `inc_time `__ - ❌ Open - ❌ Open * - Config Mgmt - ✅ Available - - ✅ Available (~5,400 LOC) + - ✅ Available (~5,400 LOC) `config_management `__ - ❌ Open - ❌ Open * - Lifecycle - ✅ Available - - ✅ Available (~38,300 LOC) + - ✅ Available (~38,300 LOC) `lifecycle `__ - 🔄 50% (1/2) - ❌ Open From 6798cbe28a7f3b7ca3349394b41b5d628d9757a7 Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Fri, 8 May 2026 11:25:38 +0000 Subject: [PATCH 13/15] style: remove trailing newline in custom.css --- process/_assets/custom.css | 1 - 1 file changed, 1 deletion(-) diff --git a/process/_assets/custom.css b/process/_assets/custom.css index 392da1f0e1..aa29bd7b30 100644 --- a/process/_assets/custom.css +++ b/process/_assets/custom.css @@ -208,4 +208,3 @@ display: block; margin: 0 auto; } - From eb71fb9394388d412c4a76bb5456e559f9cbef0c Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Fri, 8 May 2026 11:28:53 +0000 Subject: [PATCH 14/15] feat: add feature integration tests from reference_integration repo to PA5 Logging: 1 test (test_remote_logging) Orchestrator: 3 tests (test_orchestration_with_persistency, test_showcases, test_ssh) Persistency: 6 tests (test_orchestration_with_persistency, test_multiple_kvs_per_app) Tests are cross-module, maintained in eclipse-score/reference_integration. Added footnote explaining the cross-module nature. --- .github/skills/module-phase-tracker/SKILL.md | 9 ++++++--- process/standards/feature_and_process_status.rst | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/skills/module-phase-tracker/SKILL.md b/.github/skills/module-phase-tracker/SKILL.md index 94db7b5578..60881f1252 100644 --- a/.github/skills/module-phase-tracker/SKILL.md +++ b/.github/skills/module-phase-tracker/SKILL.md @@ -859,19 +859,19 @@ See :ref:`verification_workflows`. * - Logging - ✅ Available (619 tests) - ❌ Open - - ❌ Open + - ✅ Available (1 test) `reference_integration `__ [*] - ❌ Open * - Orchestrator - ✅ Available (2 tests) - ✅ Available (9 tests) - - ❌ Open + - ✅ Available (3 tests) `reference_integration `__ [*] - ❌ Open * - Persistency - ✅ Available (138 tests) - ❌ Open - - ❌ Open + - ✅ Available (6 tests) `reference_integration `__ [*] - ❌ Open * - Time @@ -898,6 +898,9 @@ See :ref:`verification_workflows`. - ❌ Open - ❌ Open +.. [*] Feature integration tests are cross-module and maintained in `eclipse-score/reference_integration `__. + Test counts reflect tests covering that module: Logging (test_remote_logging), Orchestrator (test_orchestration_with_persistency, test_showcases, test_ssh), Persistency (test_orchestration_with_persistency, test_multiple_kvs_per_app). + Done Criteria ************* diff --git a/process/standards/feature_and_process_status.rst b/process/standards/feature_and_process_status.rst index 32d3a4546e..76be529419 100644 --- a/process/standards/feature_and_process_status.rst +++ b/process/standards/feature_and_process_status.rst @@ -568,19 +568,19 @@ See :ref:`verification_workflows`. * - Logging - ✅ Available (619 tests) - ❌ Open - - ❌ Open + - ✅ Available (1 test) `reference_integration `__ [*] - ❌ Open * - Orchestrator - ✅ Available (2 tests) - ✅ Available (9 tests) - - ❌ Open + - ✅ Available (3 tests) `reference_integration `__ [*] - ❌ Open * - Persistency - ✅ Available (138 tests) - ❌ Open - - ❌ Open + - ✅ Available (6 tests) `reference_integration `__ [*] - ❌ Open * - Time @@ -607,6 +607,9 @@ See :ref:`verification_workflows`. - ❌ Open - ❌ Open +.. [*] Feature integration tests are cross-module and maintained in `eclipse-score/reference_integration `__. + Test counts reflect tests covering that module: Logging (test_remote_logging), Orchestrator (test_orchestration_with_persistency, test_showcases, test_ssh), Persistency (test_orchestration_with_persistency, test_multiple_kvs_per_app). + Done Criteria ************* From 8a58f998b82ba956914c7571c42228a012a44913 Mon Sep 17 00:00:00 2001 From: Anton Krivoborodov <63401640+antonkri@users.noreply.github.com> Date: Fri, 8 May 2026 11:50:34 +0000 Subject: [PATCH 15/15] fix: remove unreferenced RST footnote [*] causing CI warning Replace [*] footnote notation with inline '(cross-module)' label. Fixes: WARNING: Footnote [*] is not referenced. [ref.footnote] --- .github/skills/module-phase-tracker/SKILL.md | 8 +++----- process/standards/feature_and_process_status.rst | 9 +++------ 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/skills/module-phase-tracker/SKILL.md b/.github/skills/module-phase-tracker/SKILL.md index 60881f1252..f80b2d8573 100644 --- a/.github/skills/module-phase-tracker/SKILL.md +++ b/.github/skills/module-phase-tracker/SKILL.md @@ -859,19 +859,19 @@ See :ref:`verification_workflows`. * - Logging - ✅ Available (619 tests) - ❌ Open - - ✅ Available (1 test) `reference_integration `__ [*] + - ✅ Available (1 test) `reference_integration `__ (cross-module) - ❌ Open * - Orchestrator - ✅ Available (2 tests) - ✅ Available (9 tests) - - ✅ Available (3 tests) `reference_integration `__ [*] + - ✅ Available (3 tests) `reference_integration `__ (cross-module) - ❌ Open * - Persistency - ✅ Available (138 tests) - ❌ Open - - ✅ Available (6 tests) `reference_integration `__ [*] + - ✅ Available (6 tests) `reference_integration `__ (cross-module) - ❌ Open * - Time @@ -898,8 +898,6 @@ See :ref:`verification_workflows`. - ❌ Open - ❌ Open -.. [*] Feature integration tests are cross-module and maintained in `eclipse-score/reference_integration `__. - Test counts reflect tests covering that module: Logging (test_remote_logging), Orchestrator (test_orchestration_with_persistency, test_showcases, test_ssh), Persistency (test_orchestration_with_persistency, test_multiple_kvs_per_app). Done Criteria ************* diff --git a/process/standards/feature_and_process_status.rst b/process/standards/feature_and_process_status.rst index 76be529419..310238a520 100644 --- a/process/standards/feature_and_process_status.rst +++ b/process/standards/feature_and_process_status.rst @@ -568,19 +568,19 @@ See :ref:`verification_workflows`. * - Logging - ✅ Available (619 tests) - ❌ Open - - ✅ Available (1 test) `reference_integration `__ [*] + - ✅ Available (1 test) `reference_integration `__ (cross-module) - ❌ Open * - Orchestrator - ✅ Available (2 tests) - ✅ Available (9 tests) - - ✅ Available (3 tests) `reference_integration `__ [*] + - ✅ Available (3 tests) `reference_integration `__ (cross-module) - ❌ Open * - Persistency - ✅ Available (138 tests) - ❌ Open - - ✅ Available (6 tests) `reference_integration `__ [*] + - ✅ Available (6 tests) `reference_integration `__ (cross-module) - ❌ Open * - Time @@ -607,9 +607,6 @@ See :ref:`verification_workflows`. - ❌ Open - ❌ Open -.. [*] Feature integration tests are cross-module and maintained in `eclipse-score/reference_integration `__. - Test counts reflect tests covering that module: Logging (test_remote_logging), Orchestrator (test_orchestration_with_persistency, test_showcases, test_ssh), Persistency (test_orchestration_with_persistency, test_multiple_kvs_per_app). - Done Criteria *************