From 711974b4de9d9eb69061363e1f894dbfe12f35bf Mon Sep 17 00:00:00 2001 From: Piotr Korkus Date: Wed, 15 Jul 2026 13:27:13 +0200 Subject: [PATCH 1/2] include release notes from v0.8 to main --- docs/_assets/pa2_impl_progress.svg | 62 +-- docs/_assets/pa3_arch_progress.svg | 12 +- docs/_assets/pa4_impl_progress.svg | 8 +- docs/_assets/pa5_verification_progress.svg | 102 ++--- .../releases/release_note_score_v0_8.rst | 268 +++++++++++++ docs/s_core_v_1/roadmap/overall_status.rst | 379 +++++++++--------- 6 files changed, 562 insertions(+), 269 deletions(-) create mode 100644 docs/s_core_v_1/releases/release_note_score_v0_8.rst diff --git a/docs/_assets/pa2_impl_progress.svg b/docs/_assets/pa2_impl_progress.svg index 211feb8d708..1774fa417e3 100644 --- a/docs/_assets/pa2_impl_progress.svg +++ b/docs/_assets/pa2_impl_progress.svg @@ -11,58 +11,64 @@ - + - - - - + + + + + + + 0 - 100 - 200 - 300 - 400 + 100 + 200 + 300 + 400 + 500 + 600 + 700 - + - - - 313 - 80 + + + 313 + 80 v0.5.0-beta - - - 315 - 160 + + + 315 + 160 v0.6.0 - - - 316 - 186 + + + 316 + 186 v0.7.0 - + - - - 361 - 194 - now + + + 341 + 607 + v0.8 diff --git a/docs/_assets/pa3_arch_progress.svg b/docs/_assets/pa3_arch_progress.svg index 17ac6141111..718f040d91d 100644 --- a/docs/_assets/pa3_arch_progress.svg +++ b/docs/_assets/pa3_arch_progress.svg @@ -52,13 +52,13 @@ v0.7.0 - + - - - 21 - 228 - now + + + 23 + 204 + v0.8 diff --git a/docs/_assets/pa4_impl_progress.svg b/docs/_assets/pa4_impl_progress.svg index 78d1c67ced3..8422be5336c 100644 --- a/docs/_assets/pa4_impl_progress.svg +++ b/docs/_assets/pa4_impl_progress.svg @@ -46,11 +46,11 @@ v0.7.0 - + - - ~809k - now + + ~882k + v0.8 diff --git a/docs/_assets/pa5_verification_progress.svg b/docs/_assets/pa5_verification_progress.svg index e2d68f46076..c59b330282c 100644 --- a/docs/_assets/pa5_verification_progress.svg +++ b/docs/_assets/pa5_verification_progress.svg @@ -13,36 +13,36 @@ - + - - - + + + 0 - 3k - 6k - 9k + 10k + 20k + 30k - + - - 8399 + + 8399 v0.5.0-beta - - 8409 + + 8409 v0.6.0 - - 8718 + + 8718 v0.7.0 - - - 9430 - now + + + 30701 + v0.8 @@ -53,44 +53,44 @@ - + - - - + + + 0 - 30 - 60 - 90 + 50 + 100 + 150 - + - - + + v0.5.0-beta - 15 - 3 + 15 + 3 - - + + v0.6.0 - 43 - 13 + 43 + 13 - - + + v0.7.0 - 63 - 12 - - - - now - 96 - 54 + 63 + 12 + + + + v0.8 + 192 + 54 @@ -126,18 +126,18 @@ 100% - - - 90.1% + + + 93.5% C0 (line) - - - 58.7% + + + 61.2% C1 (branch) - Test counts: GTEST macros (TEST/TEST_F/TEST_P/TYPED_TEST), Rust #[test], Python def test_* • Coverage: weighted by unit-test count across modules with reported numbers + v0.5.0-beta–v0.7.0: static GTEST/Rust/Python test-macro counts • v0.8: curated table sum (CI test-run counts, incl. parameterized expansions) — methods diverge, see note • Coverage: weighted by unit-test count diff --git a/docs/s_core_v_1/releases/release_note_score_v0_8.rst b/docs/s_core_v_1/releases/release_note_score_v0_8.rst new file mode 100644 index 00000000000..e1fea57c1fa --- /dev/null +++ b/docs/s_core_v_1/releases/release_note_score_v0_8.rst @@ -0,0 +1,268 @@ +.. + # ******************************************************************************* + # Copyright (c) 2026 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 + # ******************************************************************************* + +S-CORE Platform v0.8 release note +================================= + +.. document:: S-CORE v0.8 release note + :id: doc__score_v08_release_note + :status: valid + :safety: QM + :security: YES + :realizes: wp__platform_sw_release_note + +| **Platform Release:** S-CORE +| **Release Tag:** v0.8.0 +| **Origin Release Tag**: v0.7.0 +| **Release Date:** TBD + + +Overview +^^^^^^^^ + +This document provides an overview of the changes, improvements, and bug fixes included in the software platform release version v0.8.0 as compared to the previous platform release (v0.7.0). + +Release-specific summary content for v0.8 is to be added. + +Disclaimer +---------- + +This release note does not "release for production", as it does not come with a safety argumentation and a performed safety assessment. +The work products compiled in the safety package are created with care according to a process satisfying standards, but the project, +being a non-profit and open source organization, can not take over any liability for its content. + +Changes to the Platform +^^^^^^^^^^^^^^^^^^^^^^^ + +New Features +------------ + +- Time component integrated into the platform, providing time synchronization and clock services. Repository: `time `_. + +Improvements +------------ + +Developer Website +~~~~~~~~~~~~~~~~~ + +The main `S-CORE developer website `_ was refreshed to provide a clearer entry point with improved navigation and direct access to the most important project information. + +User's Guide +~~~~~~~~~~~~ + +The `User's Guide `_ was updated and now provides a better collection of `key project links `_, complemented by a dedicated `How to get involved `_ section for new contributors. + +Integration Process Guide +~~~~~~~~~~~~~~~~~~~~~~~~~ + +A dedicated `Integration Process Guide `_ was added to the Reference Integration repository to simplify the onboarding and integration of new components into the S-CORE reference integration. + +Infra & Tooling Manual +~~~~~~~~~~~~~~~~~~~~~~ + +The `Infra & Tooling Manual `_ now explains the key infrastructure and tooling concepts and provides practical how-to guidance. + +Baselibs Consolidation +~~~~~~~~~~~~~~~~~~~~~~ + +`Baselibs `_ and Baselibs Rust were consolidated into a single module and repository, with both now maintained in the Baselibs repository. + +Safety Sentinel +~~~~~~~~~~~~~~~ + +The `Communication module `_ introduced the `Safety Sentinel concept `_, enabling, among other things, end-to-end traceability checks integrated into the Bazel build system. This is a strong step in the right direction; however, the concept does not yet rely on the tooling agreed across the S-CORE project for requirements, architecture, further S-CORE model item definitions, and traceability checks based on Sphinx and Sphinx-Needs. Harmonization of both approaches is planned for the v0.9 release. + +Integration Strategy +~~~~~~~~~~~~~~~~~~~~ + +A common integration strategy was aligned and documented in `DR-008 `_; its implementation is planned for the v0.9 release. + +Roadmap & Overall Status +~~~~~~~~~~~~~~~~~~~~~~~~ + +A clear `roadmap `_ is now available and broken down into release gates and `project milestones `_. The new `Overall Status `_ page summarizes the most important cross-module metrics after each release. + +The roadmap and milestones are fully aligned with the goal of delivering the major S-CORE v1.0 release by the end of the year, **providing a stable foundation for further industrialization of the S-CORE platform.** + +In a recent S-CORE Technical Lead meeting, it was decided to introduce module qualification levels: ``Release``, ``Experimental``, and ``Preview``. This will make it possible to include all modules in platform releases while giving users clear guidance on each module's maturity and intended usage. The exact definition and rollout concept are planned for the v0.9 release. + +S-CORE Platform scope +^^^^^^^^^^^^^^^^^^^^^ + +- **Version:** ``v0.6.2`` +- **Release notes**: `S-CORE platform release notes `_ + +Integrated Software Modules +--------------------------- + +Baselibs +~~~~~~~~ + +- **Version:** ``v0.2.9`` +- **Release notes**: `Baselibs release notes `_ + +Baselibs Rust +~~~~~~~~~~~~~ + +- Consolidated into the `Baselibs `_ module and repository (``v0.2.9``); no longer released as a separate module. + + +Communication +~~~~~~~~~~~~~ + +- **Version:** ``v0.3.0`` +- **Release notes**: `Communication release notes `_ + + +Persistency +~~~~~~~~~~~ + +- **Version:** ``v0.3.4`` +- **Release notes**: `Persistency release notes `_ + + +Logging +~~~~~~~ + +- **Version:** ``v0.2.2`` +- **Release notes**: `Logging release notes `_ + + +Time +~~~~ + +- **Version:** ``v0.0.1`` +- **Release notes**: `Time release notes `_ + +- Initial preintegration of the Time module into the S-CORE platform, providing time synchronization and clock services. + +Orchestrator +~~~~~~~~~~~~ + +- **Version:** ``v0.1.1`` +- **Release notes**: Scheduled to be archived in v0.9 release. + + +Kyron +~~~~~ + +- **Version:** ``v0.1.3`` +- **Release notes**: `Kyron release notes `_ + + +Lifecycle & Health Management +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- **Version:** ``v0.3.0`` +- **Release notes**: `Lifecycle release notes `_ + + +Reference integration +~~~~~~~~~~~~~~~~~~~~~ + +- **Version:** ``v0.8.0`` +- **Source / tag:** `Reference integration release notes `_ + +- Added a dedicated `Integration Process Guide `_ with a step-by-step onboarding path (module onboarding, platform integration, testing, reporting, and code quality checks). +- Introduced the v1.0 roadmap and release-gate documentation in `Roadmap `_, including clearer milestone alignment across process areas. +- Established and continuously refreshed the `Overall Status `_ page to provide release-level visibility on cross-module progress and process-area metrics. + + +Reference QNX image ++++++++++++++++++++ + +- Added QNX 8 support for ``aarch64`` including build and configuration artifacts for the reference image. +- Extended QEMU runner support for QNX ``aarch64`` to improve reproducible bring-up and integration testing in CI and local workflows. + +Reference Red Hat AutoSD Linux image (Experimental) ++++++++++++++++++++++++++++++++++++++++++++++++++++ + +- Switched AutoSD image builds to a ``bootc``-based flow, improving image build reproducibility and maintainability. +- Updated related build and CI workflow integration for the new AutoSD image generation approach. + + +Reference Elektrobit corbos Linux for Safety Applications Linux image (Experimental) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +- Updated EB corbos image documentation by removing outdated scrample-specific references and aligning the guidance with the current integration setup. +- Refreshed EBcLfSA-specific CI workflow and development-container settings to keep the image pipeline aligned with current tooling. + +Associated Infrastructure Modules +--------------------------------- + +Process description +~~~~~~~~~~~~~~~~~~~ + +- **Version:** ``v2.0.1`` +- **Release notes**: `Process description release notes `_ + +Docs-as-code +~~~~~~~~~~~~ + +- **Version:** ``docs-as-code v4.6.1`` +- **Source / tag:** `docs-as-code release notes `_ + +Tooling +~~~~~~~ + +- **Version:** ``v1.3.1`` +- **Release notes**: `Tooling release notes `_ + + +ITF (Integration Testing Framework) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- **Version:** ``v0.3.0`` +- **Source / tag:** `ITF release notes `_ + +Test Scenarios +~~~~~~~~~~~~~~ + +- **Version:** ``v0.4.1`` +- **Source / tag:** `Test Scenarios release notes `_ + + +Bazel CPP Toolchain +~~~~~~~~~~~~~~~~~~~ + +- **Version:** ``v0.5.4`` +- **Release notes**: `Bazel CPP Toolchain release notes `_ + + +Compatibility +^^^^^^^^^^^^^ + +- **Dependencies:** None known ... + +Performed Verification +^^^^^^^^^^^^^^^^^^^^^^ + +- See latest verification: :need:`doc__platform_verification_report_latest`. + +Known Issues/Vulnerabilities and Bug Fixes +------------------------------------------ + +- See release notes of every module separately + +Upgrade Instructions +-------------------- + +- Increase to newest bazel registry versions: https://eclipse-score.github.io/bazel_registry_ui +- Versions can be found under: https://github.com/eclipse-score/reference_integration/blob/v0.8.0/known_good.json + +Contact Information +------------------- + +For any questions or support, please contact the *Project leads* or raise an issue/discussion. +https://projects.eclipse.org/projects/automotive.score diff --git a/docs/s_core_v_1/roadmap/overall_status.rst b/docs/s_core_v_1/roadmap/overall_status.rst index 0629e39304e..f0237527083 100644 --- a/docs/s_core_v_1/roadmap/overall_status.rst +++ b/docs/s_core_v_1/roadmap/overall_status.rst @@ -19,7 +19,7 @@ Overall Status .. important:: - **Data collected on: 2026-06-12** + **Data collected on: 2026-07-15** .. note:: @@ -78,7 +78,6 @@ Process Area 1 — Change Management :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(change_management) - .. raw:: html
@@ -99,7 +98,6 @@ Process Area 1 — Change Management - ✅ Accepted | `#549 `__ — ✅ Accepted [v0.5 Certifiable] — Feature request: common libraries for IPC and Logging - | `#757 `__ — ✅ Accepted — Feature request for qualified json-parser | `#917 `__ — ✅ Accepted [v1.0] — Feature Request for ABI compatible datatypes * - Communication - ✅ Accepted @@ -185,22 +183,20 @@ Process Area 2 — Requirements Engineering :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(requirements_engineering) - .. figure:: /_assets/pa2_impl_progress.svg :alt: PA2 implementation progress :width: 720px - Total Feature and Component Requirements across the 11 PA2 modules per release (v0.5.0-beta → v0.6.0 → v0.7.0 → current main). - + Total Feature and Component Requirements across the 11 PA2 modules per release (v0.5.0-beta → v0.6.0 → v0.7.0 → v0.8). .. raw:: html
Rollout status: 🔄 - 39% -
- 13/33 deliverables complete + 45% +
+ 15/33 deliverables complete
@@ -212,90 +208,99 @@ Process Area 2 — Requirements Engineering - **Component Req** - **Req. Inspection** * - Baselibs - - ✅ Available (37/37) - - | `abi_compatible_data_types `__ - | `baselibs `__ - - ✅ Available (84/84 comp_req + 32/32 AoU) - - | `bitmanipulation `__ - | `concurrency `__ - | `containers `__ - | `filesystem `__ - | `json `__ - | `safecpp `__ - | `result `__ - | `static_reflection_with_serialization `__ - | `utils `__ - - 🔄 20% (2/10) - - | `baselibs `__ - | `bitmanipulation `__ - | `concurrency `__ - | `containers `__ - | `filesystem `__ - | `json `__ - | `safecpp `__ - | `result `__ - | `static_reflection_with_serialization `__ - | `utils `__ + - ✅ Available (17/17) + + | `baselibs `__ + - ✅ Available (112/112 comp_req + 32/32 AoU) + + | `abi_compatible_data_types `__ + | `bitmanipulation `__ + | `concurrency `__ + | `containers `__ + | `filesystem `__ + | `flatbuffers `__ + | `json `__ + | `vajson `__ + | `safecpp `__ + | `memory_shared `__ + | `result `__ + | `static_reflection_with_serialization `__ + | `utils `__ + - 🔄 30% (3/10) + + | ✅ `baselibs `__ + | ✅ `bitmanipulation `__ + | 🔄 `concurrency `__ + | 🔄 `containers `__ + | 🔄 `filesystem `__ + | 🔄 `json `__ + | 🔄 `safecpp `__ + | ✅ `result `__ + | 🔄 `static_reflection_with_serialization `__ + | 🔄 `utils `__ * - Communication - ✅ Available (53/53) - | `communication `__ - | `ipc `__ - - ✅ Available (0/0 comp_req [TRLC] + 33/33 AoU) + | `communication `__ + | `ipc `__ + - ✅ Available (363/363 comp_req [TRLC] + 33/33 AoU) - | `com `__ - | `communication `__ + | `ipc `__ (310) [TRLC] + | `ipc_fields `__ (17) [TRLC] + | `ipc_methods `__ (3) [TRLC] + | `message_passing `__ (33) [TRLC] + | `aou_req `__ - ❌ Open * - Logging - ✅ Available (46/46) - | `logging `__ - - ❌ Open + | `logging `__ + - ✅ Available (22/22 comp_req) + + | `datarouter `__ + | `log `__ - ❌ Open * - Persistency - ✅ Available (37/37) - | `persistency `__ + | `persistency `__ - ✅ Available (35/35 comp_req) - | `kvs `__ - - 🔄 50% (1/2) + | `kvs `__ + - ✅ Available (2/2) - | `persistency `__ - | `kvs `__ + | ✅ `persistency `__ + | ✅ `kvs `__ * - Time - ✅ Available (15/15) - | `time `__ + | `time `__ - ❌ Open - ❌ Open * - Config Mgmt - ✅ Available (13/13) - | `config_mgmt `__ + | `config_mgmt `__ - ❌ Open - ❌ Open * - Lifecycle - 🔄 0% (0/92) - | `lifecycle `__ + | `lifecycle `__ - 🔄 0% (0/1 comp_req + 0/1 AoU) - | `health_monitor `__ + | `health_monitor `__ - ❌ Open * - Security/Crypto - ✅ Available (41/41) - | `security_crypto `__ + | `security_crypto `__ - ❌ Open - ❌ Open * - Diagnostic Services - ✅ Available (22/22) - | `diagnostics `__ + | `diagnostics `__ - ❌ Open - ❌ Open * - NM @@ -305,7 +310,7 @@ Process Area 2 — Requirements Engineering * - Some/IP - ✅ Available (5/5) - | `some_ip_gateway `__ + | `some_ip_gateway `__ - ✅ Available (8/8 comp_req) | `tc8_conformance `__ @@ -356,22 +361,20 @@ Process Area 3 — Architecture Design :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(architecture_design) - .. figure:: /_assets/pa3_arch_progress.svg :alt: PA3 architecture progress :width: 720px - Total Feature and Component Architecture elements across the 11 PA2 modules per release (v0.5.0-beta → v0.6.0 → v0.7.0 → current main). - + Total Feature and Component Architecture elements across the 11 PA2 modules per release (v0.5.0-beta → v0.6.0 → v0.7.0 → v0.8). .. raw:: html
Rollout status: 🔄 - 24% -
- 8/33 deliverables complete + 27% +
+ 9/33 deliverables complete
@@ -385,61 +388,69 @@ Process Area 3 — Architecture Design * - Baselibs - ✅ Available (3/3) - | `baselibs `__ - - 🔄 98% (165/167) - - | `bitmanipulation `__ - | `concurrency `__ - | `containers `__ - | `filesystem `__ - | `json `__ - | `safecpp `__ - | `result `__ - | `static_reflection_with_serialization `__ - | `utils `__ + | `baselibs `__ + | `baselibs `__ + - 🔄 97% (139/142) + + | `abi_compatible_data_types `__ + | `bitmanipulation `__ + | `concurrency `__ + | `containers `__ + | `filesystem `__ + | `flatbuffers `__ + | `json `__ + | `vajson `__ + | `safecpp `__ + | `memory_shared `__ + | `result `__ + | `static_reflection_with_serialization `__ + | `utils `__ - 🔄 80% (8/10) - | `baselibs `__ - | `bitmanipulation `__ - | `concurrency `__ - | `containers `__ - | `filesystem `__ - | `json `__ - | `safecpp `__ - | `result `__ - | `static_reflection_with_serialization `__ - | `utils `__ + | ✅ `bitmanipulation `__ + | ✅ `concurrency `__ + | ✅ `containers `__ + | ✅ `filesystem `__ + | 🔄 `json `__ + | ✅ `safecpp `__ + | ✅ `result `__ + | 🔄 `static_reflection_with_serialization `__ + | ✅ `utils `__ + | ✅ `baselibs `__ * - Communication - ✅ Available (3/3) - | `communication `__ - | `ipc `__ + | `communication `__ + | `ipc `__ - ✅ Available (16/16) - | `configuration `__ - | `frontent `__ - | `ipc_binding `__ - | `message_passing `__ + | `configuration `__ + | `frontent `__ + | `ipc_binding `__ + | `message_passing `__ + | `mock_binding `__ - ❌ Open * - Logging - - ✅ Available (1/1) + - ✅ Available (2/2) - | `logging `__ + | `logging `__ + | `logging `__ - ✅ Available (3/3) - | `logging `__ + | `logging `__ - ❌ Open * - Persistency - ✅ Available (9/9) - | `persistency `__ + | `persistency `__ + | `persistency `__ - 🔄 0% (0/3) - | `kvs `__ + | `kvs `__ - 🔄 0% (0/2) - | `persistency `__ - | `kvs `__ + | 🔄 `persistency `__ + | 🔄 `kvs `__ * - Time - ❌ Open - ❌ Open @@ -451,18 +462,16 @@ Process Area 3 — Architecture Design * - Lifecycle - 🔄 60% (3/5) - | `lifecycle `__ - | `lifecycle `__ + | `lifecycle `__ + | `lifecycle `__ - ✅ Available (15/15) - | `health_monitor `__ + | `health_monitor `__ - ❌ Open * - Security/Crypto - ❌ Open - - 🔄 0% (0/23) + - 🔄 0% (0/21) - | `crypto `__ - | `crypto `__ | `crypto `__ - ❌ Open * - Diagnostic Services @@ -474,8 +483,10 @@ Process Area 3 — Architecture Design - ❌ Open - ❌ Open * - Some/IP - - ❌ Open - - ✅ Available (2/2) + - ✅ Available (1/1) + + | `docs/architecture/features.rst `__ + - ✅ Available (4/4) | `docs/architecture/components.rst `__ - ❌ Open @@ -525,22 +536,20 @@ Process Area 4 — Implementation :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(implementation) - .. figure:: /_assets/pa4_impl_progress.svg :alt: PA4 implementation progress :width: 720px - Estimated Lines of Code across the 11 PA2 modules per release (v0.5.0-beta → v0.6.0 → v0.7.0 → current main). - + Estimated Lines of Code across the 11 PA2 modules per release (v0.5.0-beta → v0.6.0 → v0.7.0 → v0.8). .. raw:: html
Rollout status: 🔄 - 47% -
- 21/44 deliverables complete + 45% +
+ 20/44 deliverables complete
@@ -555,27 +564,27 @@ Process Area 4 — Implementation * - Baselibs - ✅ Available - | `platform_management_plan `__ - - ✅ Available (~315,200 LOC) + | `platform_management_plan `__ + - ✅ Available (~344,200 LOC) | `baselibs `__ - ❌ Open - 🔄 0% (0/9) - | `bitmanipulation `__ - | `concurrency `__ - | `containers `__ - | `filesystem `__ - | `json `__ - | `safecpp `__ - | `result `__ - | `static_reflection_with_serialization `__ - | `utils `__ + | 🔄 `bitmanipulation `__ + | 🔄 `concurrency `__ + | 🔄 `containers `__ + | 🔄 `filesystem `__ + | 🔄 `json `__ + | 🔄 `safecpp `__ + | 🔄 `result `__ + | 🔄 `static_reflection_with_serialization `__ + | 🔄 `utils `__ * - Communication - ✅ Available - | `platform_management_plan `__ - - ✅ Available (~253,700 LOC) + | `platform_management_plan `__ + - ✅ Available (~274,000 LOC) | `communication `__ - ❌ Open @@ -583,8 +592,8 @@ Process Area 4 — Implementation * - Logging - ✅ Available - | `platform_management_plan `__ - - ✅ Available (~50,800 LOC) + | `platform_management_plan `__ + - ✅ Available (~53,200 LOC) | `logging `__ - ❌ Open @@ -592,19 +601,19 @@ Process Area 4 — Implementation * - Persistency - ✅ Available - | `platform_management_plan `__ + | `platform_management_plan `__ - ✅ Available (~18,000 LOC) | `persistency `__ - ❌ Open - 🔄 0% (0/1) - | `kvs `__ + | 🔄 `kvs `__ * - Time - ✅ Available - | `platform_management_plan `__ - - ✅ Available (~23,200 LOC) + | `platform_management_plan `__ + - ✅ Available (~25,700 LOC) | `inc_time `__ - ❌ Open @@ -612,8 +621,8 @@ Process Area 4 — Implementation * - Config Mgmt - ✅ Available - | `platform_management_plan `__ - - ✅ Available (~20,400 LOC) + | `platform_management_plan `__ + - ✅ Available (~21,200 LOC) | `config_management `__ - ❌ Open @@ -621,19 +630,17 @@ Process Area 4 — Implementation * - Lifecycle - ✅ Available - | `platform_management_plan `__ - - ✅ Available (~51,800 LOC) + | `platform_management_plan `__ + - ✅ Available (~54,300 LOC) | `lifecycle `__ - - ✅ Available (1/1) - - | `health_monitor `__ + - ❌ Open - ❌ Open * - Security/Crypto - ✅ Available - | `platform_management_plan `__ - - ✅ Available (~51,600 LOC) + | `platform_management_plan `__ + - ✅ Available (~51,700 LOC) | `inc_security_crypto `__ - ❌ Open @@ -641,22 +648,22 @@ Process Area 4 — Implementation * - Diagnostic Services - ✅ Available - | `platform_management_plan `__ + | `platform_management_plan `__ - ❌ Open - ❌ Open - ❌ Open * - NM - ✅ Available - | `platform_management_plan `__ + | `platform_management_plan `__ - ❌ Open - ❌ Open - ❌ Open * - Some/IP - ✅ Available - | `platform_management_plan `__ - - ✅ Available (~24,500 LOC) + | `platform_management_plan `__ + - ✅ Available (~39,500 LOC) | `inc_someip_gateway `__ - ❌ Open @@ -707,22 +714,20 @@ Process Area 5 — Verification :colors: LimeGreen, Gold, LightBlue, LightGray :filter-func: needs_filters.area_verification_status(verification) - .. figure:: /_assets/pa5_verification_progress.svg :alt: PA5 verification progress :width: 1080px - Test counts and coverage across the 11 PA2 modules per release (v0.5.0-beta → v0.6.0 → v0.7.0 → current main). - + Test counts and coverage across the 11 PA2 modules per release (v0.5.0-beta → v0.6.0 → v0.7.0 → v0.8). .. raw:: html
Rollout status: 🔄 - 28% -
- 25/88 deliverables complete + 33% +
+ 26/77 deliverables complete
.. note:: @@ -732,7 +737,7 @@ Process Area 5 — Verification ``bazel coverage --config=ferrocene-coverage``). C0 = line coverage, C1 = branch coverage. Rust coverage reports line coverage only. Modules not yet integrated into the ``reference_integration`` CI - (Time, Config Mgmt, Security/Crypto, Some/IP) show ❌ Open. + (Config Mgmt, Security/Crypto, Some/IP) show ❌ Open. .. note:: @@ -764,44 +769,49 @@ Process Area 5 — Verification * - Baselibs - ✅ Available - | 5376 tests + | 25833 tests - 🔄 - | **C0:** 92.3% - | **C1:** 60.3% (cpp) - | **Rust line:** 74.35% + | **C0:** 94.9% + | **C1:** 61.9% (cpp) - ✅ Available | 13 tests - ❌ Open - ✅ 0 findings - ✅ 0 findings - - ❌ Open + - 🔄 Draft + + | 🔄 `verification `__ * - Communication - ✅ Available - | 2585 tests + | 3301 tests - 🔄 - | **C0:** 87.9% - | **C1:** 58.8% (cpp) + | **C0:** 96.22% + | **C1:** 94.19% (cpp) - ✅ Available - | 42 tests + | 63 tests - ❌ Open - 🔄 Configured (no CI) - ✅ 0 findings - - ❌ Open + - 🔄 Draft + + | 🔄 `verification `__ * - Logging - ✅ Available - | 617 tests + | 650 tests - 🔄 - | **C0:** 79.3% - | **C1:** 42.1% (cpp) + | **C0:** 96.8% + | **C1:** 74.1% (cpp) | **Rust line:** 39.86% - - ❌ Open + - ✅ Available + + | 8 tests - ✅ Available | 1 test @@ -811,13 +821,15 @@ Process Area 5 — Verification * - Persistency - ✅ Available - | 138 tests + | 95 tests - 🔄 | **C0:** 94.7% | **C1:** 63.0% (cpp) | **Rust line:** 92.66% - ✅ Available + + | 44 tests - ✅ Available | 53 tests @@ -825,15 +837,18 @@ Process Area 5 — Verification - ❌ Open - ✅ Available - | `verification `__ + | ✅ `verification `__ * - Time - ✅ Available - | 296 tests - - ❌ Open + | 314 tests + - 🔄 + + | **C0:** 88.7% + | **C1:** 61.1% (cpp) - ✅ Available - | 11 tests + | 4 tests - ❌ Open - ❌ Open - ❌ Open @@ -841,7 +856,7 @@ Process Area 5 — Verification * - Config Mgmt - ✅ Available - | 179 tests + | 190 tests - ❌ Open - ❌ Open - ❌ Open @@ -851,29 +866,33 @@ Process Area 5 — Verification * - Lifecycle - ✅ Available - | 2 tests + | 248 tests - 🔄 - | **C0:** 77.2% - | **C1:** 45.8% (cpp) + | **C0:** 83.9% + | **C1:** 56.9% (cpp) | **Rust line:** 53.81% - ✅ Available - | 8 tests + | 36 tests - ❌ Open - ✅ 0 findings - ❌ Open - ❌ Open * - Security/Crypto - - ✅ Available - - ❌ Open - ✅ Available | 5 tests - ❌ Open + - ✅ Available + + | 11 tests - ❌ Open - ❌ Open - ❌ Open + - 🔄 Draft + + | 🔄 `verification `__ * - Diagnostic Services - ❌ Open - ❌ Open @@ -893,19 +912,19 @@ Process Area 5 — Verification * - Some/IP - ✅ Available - | 237 tests + | 375 tests - ❌ Open - ✅ Available - | 17 tests + | 21 tests - ❌ Open - ❌ Open - ❌ Open - ❌ Open + .. admonition:: Platform Verification Report :class: important platform-ver-report - `platform_ver_report `__ - — 🔄 **Draft** (single project-wide deliverable) - + Platform Verification Report — ❌ **Open** (single project-wide deliverable; + not yet published at the pinned ``score`` ref) From 5d946ed9b3cd39203c8f6dec33e65c77b58a4d80 Mon Sep 17 00:00:00 2001 From: Piotr Korkus Date: Wed, 15 Jul 2026 13:27:30 +0200 Subject: [PATCH 2/2] update overall-status skill refs --- .../overall-status/references/common.md | 55 ++++++++++++++++++ .../references/pa2-requirements.md | 4 ++ .../references/pa3-architecture.md | 5 ++ .../references/pa4-implementation.md | 6 ++ .../references/pa5-verification.md | 58 +++++++++++++++++++ 5 files changed, 128 insertions(+) diff --git a/.github/skills/overall-status/references/common.md b/.github/skills/overall-status/references/common.md index 42d54f9b667..7d4d77d614e 100644 --- a/.github/skills/overall-status/references/common.md +++ b/.github/skills/overall-status/references/common.md @@ -298,6 +298,61 @@ line. Rules: to a plain `**bold paragraph**` — the admonition class is what makes it visually prominent. +### C4.2.1 Per-link status markers — Inspection & Report cells (mandatory) + +Inspection cells (`Req. Inspection`, `Arch. Inspection`, `Impl. Inspection`) +and the **Module Verification Report** cells routinely list many source +links (Baselibs alone has 10 checklists per inspection column). A reader +cannot tell which checklist is finished from the aggregate `3/10` count +alone. Therefore **every source link in these cells MUST be prefixed with a +status marker** derived from the *linked* file's document-level `:status:` +(the same `:status:` that drives the cell count — see +[C3.3](#c33-inspections)): + +| Linked file `:status:` | Marker | +|---|---| +| `valid` | ✅ | +| `draft` | 🔄 | +| `invalid` | ❌ | +| missing / no `:status:`| ⚠️ (investigate — usually a wrong path) | + +Format — the marker sits **between** the line-block bar and the backtick: + +```rst + - 🔄 30% (3/10) + + | ✅ `baselibs <…/docs/requirements/chklst_req_inspection.rst>`__ + | ✅ `bitmanipulation <…/docs/requirements/chklst_req_inspection.rst>`__ + | 🔄 `concurrency <…/docs/requirements/chklst_req_inspection.rst>`__ +``` + +Hard rules: +- Applies to **every** cell whose links point at `chklst_*_inspection.rst` + files (`Req./Arch./Impl. Inspection`) **and** at + `module_verification_report.rst` / `platform_ver_report.rst` files. +- The marker reflects the **document-level** `:status:` of the *linked* + file (parse with `count_checklist_status`, see + [Step 2](#step-2--count-directives)), **not** the aggregate cell status. +- Self-check: the number of ✅ markers in a cell **MUST equal** the `valid` + numerator of that cell (e.g. `3/10` ⇒ exactly three ✅). A mismatch means + a stale marker or a wrong link. +- Requirements / Architecture / Detailed-Design / Code cells (which link + `index.rst` requirement/architecture files, **not** checklists) do **not** + get per-link markers — only inspection and report links do. +- Markers are additive to the existing link rules ([C4.2](#c42-source-links--mandatory)): + keep the component-name label, the pinned-ref URL and the no-cap listing. + +Helper (renders one marked inspection/report link): + +```python +INSP_MARK = {"valid": "✅", "draft": "🔄", "invalid": "❌"} + +def insp_link(label, url, status): + """status is the document :status: of the linked chklst_*/report file, + from count_checklist_status()'s underlying :status: match.""" + return f"| {INSP_MARK.get(status, '⚠️')} `{label} <{url}>`__" +``` + ### C4.3 Per-PA progress figures Each Process Area embeds one SVG figure under `docs/_assets/`: diff --git a/.github/skills/overall-status/references/pa2-requirements.md b/.github/skills/overall-status/references/pa2-requirements.md index c879825bcea..52e9736becf 100644 --- a/.github/skills/overall-status/references/pa2-requirements.md +++ b/.github/skills/overall-status/references/pa2-requirements.md @@ -38,6 +38,10 @@ embedding) see [common.md C4](./common.md#c4-rst-formatting-rules). (`.trlc`, not parsed) — render the Component Req cell as `0/0 comp_req [TRLC]` plus a link to the `.trlc` file (see [C4.2](./common.md#c42-source-links--mandatory)). +- **Per-link status markers (Req. Inspection):** prefix every + `chklst_req_inspection.rst` link with ✅/🔄/❌ by its document `:status:` + (count of ✅ must equal the `valid` numerator) — see + [common.md C4.2.1](./common.md#c421-per-link-status-markers--inspection--report-cells-mandatory). --- diff --git a/.github/skills/overall-status/references/pa3-architecture.md b/.github/skills/overall-status/references/pa3-architecture.md index 7261dc3a7c5..483b8718230 100644 --- a/.github/skills/overall-status/references/pa3-architecture.md +++ b/.github/skills/overall-status/references/pa3-architecture.md @@ -36,6 +36,11 @@ Never counted as Arch directives: `stkh_req`, `tool_req`, `document`, `needtable`, `needpie`, `needextend`, `figure`, `uml`, `note`, `attention`, `toctree`, `grid`. +- **Per-link status markers (Arch. Inspection):** prefix every + `chklst_arc_inspection.rst` link with ✅/🔄/❌ by its document `:status:` + (count of ✅ must equal the `valid` numerator) — see + [common.md C4.2.1](./common.md#c421-per-link-status-markers--inspection--report-cells-mandatory). + --- ## Path filters diff --git a/.github/skills/overall-status/references/pa4-implementation.md b/.github/skills/overall-status/references/pa4-implementation.md index 89517c278da..87a2e44b911 100644 --- a/.github/skills/overall-status/references/pa4-implementation.md +++ b/.github/skills/overall-status/references/pa4-implementation.md @@ -34,6 +34,12 @@ estimate (Code), directive counting (Detailed Design) and checklist status | Detailed Design | `dd` | `dd`, `dd_sta`, `dd_dyn` | | Impl. Inspection | `chklst` | document `:status:` of each `chklst_impl_inspection.rst` / `chklst_dd_inspection.rst` (see [C3.3](./common.md#c33-inspections)) | +- **Per-link status markers (Impl. Inspection):** prefix every + `chklst_impl_inspection.rst` / `chklst_dd_inspection.rst` link with + ✅/🔄/❌ by its document `:status:` (count of ✅ must equal the `valid` + numerator) — see + [common.md C4.2.1](./common.md#c421-per-link-status-markers--inspection--report-cells-mandatory). + ### Lines of Code (Code column) LOC counts every line in source files (`.cpp .h .c .rs .py`) outside `docs/`, diff --git a/.github/skills/overall-status/references/pa5-verification.md b/.github/skills/overall-status/references/pa5-verification.md index 38522634cae..de8183ca0bf 100644 --- a/.github/skills/overall-status/references/pa5-verification.md +++ b/.github/skills/overall-status/references/pa5-verification.md @@ -25,6 +25,11 @@ status and the module verification report. For shared conventions see | **Module Ver. Report** | `verification/module_verification_report.rst` `:status: valid` and contains data | `:status: draft` | absent or template only | | **Platform Ver. Report** | _no column_ — the platform verification report exists **once** for the entire platform; do not render it as a per-module column. Add it as a **bold one-liner immediately after the PA5 table** (see [Platform Verification Report](#platform-verification-report)). | | | +- **Per-link status marker (Module Ver. Report):** prefix the + `module_verification_report.rst` link with ✅/🔄/❌ by its document + `:status:` — see + [common.md C4.2.1](./common.md#c421-per-link-status-markers--inspection--report-cells-mandatory). + > **Static / Dynamic Analysis cells render the status only, no source-code > link.** The PA5 link discipline of > [common.md C4.2](./common.md#c42-source-links--mandatory) does not apply to @@ -43,6 +48,59 @@ singular/plural (`1 test` vs `N tests`). --- +## Test-counting pitfalls (read before touching Unit / Comp. IT numbers) + +Test discovery is the **most error-prone** part of PA5. Verified failure +modes (each has produced a wrong number in the past — Logging was `340` +unit / `❌` comp when the truth is `650` / `8`): + +1. **Count all components of a module, not just one subtree.** Two-component + modules keep tests in several roots — e.g. Logging has **both** + `score/datarouter/**` (~324 cases) **and** `score/mw/log/**` (~326). + Missing one silently halves the count. Always walk the *whole* repo tree. +2. **Rust inline unit tests live in `src/`, not in `tests/`.** Counting only + files under a `test/`-style path (the old `is_test_path`) **misses every + `#[cfg(test)] mod tests { #[test] … }`** in `src/*.rs`. Lifecycle has + **235** such inline tests, all in `src/`. Count `#[test]` / + `#[tokio::test]` in **all** `.rs` files (outside `docs/`, `third_party/`, + `bazel-*`). +3. **Unit vs. Component/Integration is per-repo convention, not one rule.** + There is no single reliable heuristic; classify with the module's own + convention: + + | Module | Component/Integration tests live in | Count | + |---|---|---| + | Logging | `score/test/component/**` (Bazel `tags=["integration"]`, ITF `py_*_itf_test`) | 8 | + | Persistency | `tests/test_cases/tests/test_cit_*.py` (**CIT** = Component Integration Test) | 44 | + | Baselibs | `score/os/utils/test/mqueueintegration_test.cpp` | 13 | + | Communication | `score/mw/com/test/**/integration_test/*.py` | 63 | + | Time | `score/**/tests/integration_tests/**` | 4 | + | Security/Crypto | `tests/integration_tests/integration_test.py` | 11 | + | Some/IP | `tests/integration_test/**` + `quality/integration_testing/**` | 21 | + + A **Rust `tests/` directory is a *crate integration* test**, but a + C++ component's `tests/` subfolder (e.g. `futurecpp/tests/`) is that + component's **unit** tests — do **not** blanket-classify `tests/` as + integration. +4. **Two different "test count" metrics exist — do not mix them.** + - *Test-case declarations* — count of `TEST*(` / `#[test]` / `def test_` + macros (Logging 650, Baselibs ~5.7k). + - *Executed test cases* — the same expanded over `TYPED_TEST` types and + parametrised instances (Baselibs `25833`). Bazel CI reports *test + **targets*** (`Executed N tests` ≈ 297), a **third** number. + + The current table predominantly uses the **executed-case** metric. When a + single cell is corrected, match the metric already used in that column; + do **not** silently switch the whole column to a different metric. + +> **When in doubt, verify a suspicious cell manually** against the repo at +> the pinned ref (fetch the test files, count) before overwriting — a +> `✅ Available` test cell dropping to `❌ Open` is almost always a discovery +> bug, not a real regression (see the plausibility gate in +> [common.md Step 5b](./common.md#5b-plausibility--diff-each-cell)). + +--- + ## Coverage CI keys Coverage data is read from the latest successful run of workflow id