Skip to content

Commit cbf818a

Browse files
authored
Release notes from v0.8 on main (#297)
* include release notes from v0.8 to main * update overall-status skill refs
1 parent 2bcb60c commit cbf818a

11 files changed

Lines changed: 690 additions & 269 deletions

File tree

.github/skills/overall-status/references/common.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,61 @@ line. Rules:
298298
to a plain `**bold paragraph**` — the admonition class is what makes
299299
it visually prominent.
300300

301+
### C4.2.1 Per-link status markers — Inspection & Report cells (mandatory)
302+
303+
Inspection cells (`Req. Inspection`, `Arch. Inspection`, `Impl. Inspection`)
304+
and the **Module Verification Report** cells routinely list many source
305+
links (Baselibs alone has 10 checklists per inspection column). A reader
306+
cannot tell which checklist is finished from the aggregate `3/10` count
307+
alone. Therefore **every source link in these cells MUST be prefixed with a
308+
status marker** derived from the *linked* file's document-level `:status:`
309+
(the same `:status:` that drives the cell count — see
310+
[C3.3](#c33-inspections)):
311+
312+
| Linked file `:status:` | Marker |
313+
|---|---|
314+
| `valid` ||
315+
| `draft` | 🔄 |
316+
| `invalid` ||
317+
| missing / no `:status:`| ⚠️ (investigate — usually a wrong path) |
318+
319+
Format — the marker sits **between** the line-block bar and the backtick:
320+
321+
```rst
322+
- 🔄 30% (3/10)
323+
324+
| ✅ `baselibs <…/docs/requirements/chklst_req_inspection.rst>`__
325+
| ✅ `bitmanipulation <…/docs/requirements/chklst_req_inspection.rst>`__
326+
| 🔄 `concurrency <…/docs/requirements/chklst_req_inspection.rst>`__
327+
```
328+
329+
Hard rules:
330+
- Applies to **every** cell whose links point at `chklst_*_inspection.rst`
331+
files (`Req./Arch./Impl. Inspection`) **and** at
332+
`module_verification_report.rst` / `platform_ver_report.rst` files.
333+
- The marker reflects the **document-level** `:status:` of the *linked*
334+
file (parse with `count_checklist_status`, see
335+
[Step 2](#step-2--count-directives)), **not** the aggregate cell status.
336+
- Self-check: the number of ✅ markers in a cell **MUST equal** the `valid`
337+
numerator of that cell (e.g. `3/10` ⇒ exactly three ✅). A mismatch means
338+
a stale marker or a wrong link.
339+
- Requirements / Architecture / Detailed-Design / Code cells (which link
340+
`index.rst` requirement/architecture files, **not** checklists) do **not**
341+
get per-link markers — only inspection and report links do.
342+
- Markers are additive to the existing link rules ([C4.2](#c42-source-links--mandatory)):
343+
keep the component-name label, the pinned-ref URL and the no-cap listing.
344+
345+
Helper (renders one marked inspection/report link):
346+
347+
```python
348+
INSP_MARK = {"valid": "", "draft": "🔄", "invalid": ""}
349+
350+
def insp_link(label, url, status):
351+
"""status is the document :status: of the linked chklst_*/report file,
352+
from count_checklist_status()'s underlying :status: match."""
353+
return f"| {INSP_MARK.get(status, '⚠️')} `{label} <{url}>`__"
354+
```
355+
301356
### C4.3 Per-PA progress figures
302357

303358
Each Process Area embeds one SVG figure under `docs/_assets/`:

.github/skills/overall-status/references/pa2-requirements.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ embedding) see [common.md C4](./common.md#c4-rst-formatting-rules).
3838
(`.trlc`, not parsed) — render the Component Req cell as
3939
`0/0 comp_req [TRLC]` plus a link to the `.trlc` file (see
4040
[C4.2](./common.md#c42-source-links--mandatory)).
41+
- **Per-link status markers (Req. Inspection):** prefix every
42+
`chklst_req_inspection.rst` link with ✅/🔄/❌ by its document `:status:`
43+
(count of ✅ must equal the `valid` numerator) — see
44+
[common.md C4.2.1](./common.md#c421-per-link-status-markers--inspection--report-cells-mandatory).
4145

4246
---
4347

.github/skills/overall-status/references/pa3-architecture.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ Never counted as Arch directives: `stkh_req`, `tool_req`, `document`,
3636
`needtable`, `needpie`, `needextend`, `figure`, `uml`, `note`, `attention`,
3737
`toctree`, `grid`.
3838

39+
- **Per-link status markers (Arch. Inspection):** prefix every
40+
`chklst_arc_inspection.rst` link with ✅/🔄/❌ by its document `:status:`
41+
(count of ✅ must equal the `valid` numerator) — see
42+
[common.md C4.2.1](./common.md#c421-per-link-status-markers--inspection--report-cells-mandatory).
43+
3944
---
4045

4146
## Path filters

.github/skills/overall-status/references/pa4-implementation.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ estimate (Code), directive counting (Detailed Design) and checklist status
3434
| Detailed Design | `dd` | `dd`, `dd_sta`, `dd_dyn` |
3535
| Impl. Inspection | `chklst` | document `:status:` of each `chklst_impl_inspection.rst` / `chklst_dd_inspection.rst` (see [C3.3](./common.md#c33-inspections)) |
3636

37+
- **Per-link status markers (Impl. Inspection):** prefix every
38+
`chklst_impl_inspection.rst` / `chklst_dd_inspection.rst` link with
39+
✅/🔄/❌ by its document `:status:` (count of ✅ must equal the `valid`
40+
numerator) — see
41+
[common.md C4.2.1](./common.md#c421-per-link-status-markers--inspection--report-cells-mandatory).
42+
3743
### Lines of Code (Code column)
3844

3945
LOC counts every line in source files (`.cpp .h .c .rs .py`) outside `docs/`,

.github/skills/overall-status/references/pa5-verification.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ status and the module verification report. For shared conventions see
2525
| **Module Ver. Report** | `verification/module_verification_report.rst` `:status: valid` and contains data | `:status: draft` | absent or template only |
2626
| **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)). | | |
2727

28+
- **Per-link status marker (Module Ver. Report):** prefix the
29+
`module_verification_report.rst` link with ✅/🔄/❌ by its document
30+
`:status:` — see
31+
[common.md C4.2.1](./common.md#c421-per-link-status-markers--inspection--report-cells-mandatory).
32+
2833
> **Static / Dynamic Analysis cells render the status only, no source-code
2934
> link.** The PA5 link discipline of
3035
> [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`).
4348

4449
---
4550

51+
## Test-counting pitfalls (read before touching Unit / Comp. IT numbers)
52+
53+
Test discovery is the **most error-prone** part of PA5. Verified failure
54+
modes (each has produced a wrong number in the past — Logging was `340`
55+
unit / `` comp when the truth is `650` / `8`):
56+
57+
1. **Count all components of a module, not just one subtree.** Two-component
58+
modules keep tests in several roots — e.g. Logging has **both**
59+
`score/datarouter/**` (~324 cases) **and** `score/mw/log/**` (~326).
60+
Missing one silently halves the count. Always walk the *whole* repo tree.
61+
2. **Rust inline unit tests live in `src/`, not in `tests/`.** Counting only
62+
files under a `test/`-style path (the old `is_test_path`) **misses every
63+
`#[cfg(test)] mod tests { #[test] … }`** in `src/*.rs`. Lifecycle has
64+
**235** such inline tests, all in `src/`. Count `#[test]` /
65+
`#[tokio::test]` in **all** `.rs` files (outside `docs/`, `third_party/`,
66+
`bazel-*`).
67+
3. **Unit vs. Component/Integration is per-repo convention, not one rule.**
68+
There is no single reliable heuristic; classify with the module's own
69+
convention:
70+
71+
| Module | Component/Integration tests live in | Count |
72+
|---|---|---|
73+
| Logging | `score/test/component/**` (Bazel `tags=["integration"]`, ITF `py_*_itf_test`) | 8 |
74+
| Persistency | `tests/test_cases/tests/test_cit_*.py` (**CIT** = Component Integration Test) | 44 |
75+
| Baselibs | `score/os/utils/test/mqueueintegration_test.cpp` | 13 |
76+
| Communication | `score/mw/com/test/**/integration_test/*.py` | 63 |
77+
| Time | `score/**/tests/integration_tests/**` | 4 |
78+
| Security/Crypto | `tests/integration_tests/integration_test.py` | 11 |
79+
| Some/IP | `tests/integration_test/**` + `quality/integration_testing/**` | 21 |
80+
81+
A **Rust `tests/` directory is a *crate integration* test**, but a
82+
C++ component's `tests/` subfolder (e.g. `futurecpp/tests/`) is that
83+
component's **unit** tests — do **not** blanket-classify `tests/` as
84+
integration.
85+
4. **Two different "test count" metrics exist — do not mix them.**
86+
- *Test-case declarations* — count of `TEST*(` / `#[test]` / `def test_`
87+
macros (Logging 650, Baselibs ~5.7k).
88+
- *Executed test cases* — the same expanded over `TYPED_TEST` types and
89+
parametrised instances (Baselibs `25833`). Bazel CI reports *test
90+
**targets*** (`Executed N tests` ≈ 297), a **third** number.
91+
92+
The current table predominantly uses the **executed-case** metric. When a
93+
single cell is corrected, match the metric already used in that column;
94+
do **not** silently switch the whole column to a different metric.
95+
96+
> **When in doubt, verify a suspicious cell manually** against the repo at
97+
> the pinned ref (fetch the test files, count) before overwriting — a
98+
> `✅ Available` test cell dropping to `❌ Open` is almost always a discovery
99+
> bug, not a real regression (see the plausibility gate in
100+
> [common.md Step 5b](./common.md#5b-plausibility--diff-each-cell)).
101+
102+
---
103+
46104
## Coverage CI keys
47105

48106
Coverage data is read from the latest successful run of workflow id

docs/_assets/pa2_impl_progress.svg

Lines changed: 34 additions & 28 deletions
Loading

docs/_assets/pa3_arch_progress.svg

Lines changed: 6 additions & 6 deletions
Loading

docs/_assets/pa4_impl_progress.svg

Lines changed: 4 additions & 4 deletions
Loading

0 commit comments

Comments
 (0)