Skip to content

Commit 025951e

Browse files
Add S-CORE v1.0 roadmap, release-gate docs, and overall-status SKILL (#230)
* improve ref integration documentation * Fix CI: write quality reports to docs/verification_report The path docs/s_core_v_1/verification did not exist and was not created, causing the unit-test/coverage script to crash with FileNotFoundError. Use the existing docs/verification_report directory (and create it if missing) for both the script output and the workflow summary step. * docs: add missing pages to root toctree Sphinx (warnings-as-errors) failed because docs/s_core_v_1/index.rst and docs/verification_report/platform_verification_report.rst were referenced via grid-cards but not listed in any toctree. * docs(roadmap): refresh overall_status against pinned score ref - Repin score from 5b8a1e34 to 1b51518e (81 source-link URLs) - Baselibs PA3 Component Architecture: 164/166 -> 165/167 skill(overall-status): clean up and fix checklist counter - Restructure SKILL.md (1063 -> 517 lines): drop migration notes, duplicated callouts, and the empty 'Complete RST Snapshot' section. - Specify counting model in plain prose (no formulas). - Fix count_checklist_status: chklst_*.rst stores :status: indented inside the .. document:: block, not at column 0. Updated section 3.3 and the Step-2 helper accordingly. * docs(roadmap): add per-PA release-progress SVG figures and document generation in SKILL - Add docs/_assets/pa{2,3,4,5}_*.svg charts showing release evolution (v0.5.0-beta -> v0.6.0 -> v0.7.0 -> current main) above each PA module-tracker table in overall_status.rst. - Embed via .. figure:: directives with alt text and width. - Extend .github/skills/overall-status/SKILL.md (sec. 6a) with: - release pinning recipe (annotated-tag deref, known_good schema diffs, 'now' = known_good.json on main of reference_integration) - per-chart metric table and SVG generation workflow - Communication vs. Some/IP double-count guard (applies to all PAs) - rule that charts use TOTAL directive count, not valid-only - PA5 split: historical bars from TEST-macro regex, 'now' bar from PA5 RST table column sums; documented divergences. * docs(overall_status): refine PA1/PA5 layout, add platform-ver admonition, fix label warnings - PA1: render FR issue titles next to the issue number; restrict #549 to Baselibs; add #757 'qualified json-parser' to Baselibs (no milestone); drop #914/#917 from Communication (local IPC scope only) - PA5: drop per-module Platform Ver. Rpt column; add prominent Platform Verification Report admonition after the table - PA5: split test counts onto a separate line-block line below the status emoji - PA5: add reader notes for C0/C1 coverage source and Static/Dynamic analysis semantics - Add cross-reference labels (overall_status_pa2..pa5) to fix six Sphinx 'undefined label' warnings from pi1/pi2/pi3 - custom.css: neutralise blockquote/line-block styling inside list tables so secondary lines blend into the cell; style new .platform-ver-report admonition Sphinx build now reports 0 warnings, 0 errors. SKILL.md updated to document all of the above (sections 4.0, 4.2, 5.0, 5.1, 5.2). * docs: mark overall_status as AI-generated and indicative * docs(overall_status): enlarge status headings and add rollout progress bar - Style 'Process Status' rubrics with new .status-heading class for larger, bolder appearance. - Replace 'Implementation status: ...' rubrics with an inline 'Rollout status' row containing label, percentage, progress bar and detail text in one line. - Add corresponding CSS in docs/_assets/custom.css (.status-heading, .impl-status-row and .impl-status-bar/.impl-status-fill). * docs(roadmap): add Planning Approach page - New planning_approach.rst summarising how v1.0 is planned: GitHub project, Product Increment tickets per Feature Team / Community mapped to milestones, sub-tickets and the GitHub project's process area attribute for grouping. - Link to the authoritative Platform Management Plan as primary reference. - Add the page to the roadmap toctree (after Overall Status). * docs(roadmap): refine PI1 work breakdown for Release Gate v0.8 - Clarify automation checks are part of docs-as-code toolchain (//:docs) - Add CI/CD workflow item for requirement/architecture validation - Add inspection checklist completion item with team and process area - Add Module Verification Report completion item (pa5_verification) - Add outstanding implementation tickets item (pa4_impl) - Replace 'component' attribute references with 'team' - Remove Feasibility Check section * docs(pi1): expand v0.8 work breakdown with TL-circle review and unified Bazel targets * docs(roadmap): add platform/toolchain bullet, ref-int integration item, and Terminology section * Address SKILL.md review findings (PR #230) - Fix --paginate being embedded in URL string; pass it as a real CLI flag - Renumber duplicate ### 5.4 (Rollout status row) to ### 5.5 - Fix stray 'e|' prefix on the PA5 Static Analysis row - Add overall_status_pa1 to the required-labels list (§5.0) - Clarify in §3.4 that the per-cell LOC uses the §6a.2 byte÷30 method - Document why the Time keyword in KW_FALLBACK has a leading space * Add overall_status_pa1 anchor to overall_status.rst (PR #230) Matches the PA2-PA5 pattern so :ref:`overall_status_pa1` from PI pages resolves without warnings. * Fix four obvious bugs from PR #230 review (#256) * Fix four obvious bugs found in review of PR #230 - SKILL.md §6 Step 6: stale §5.4 cross-reference updated to §5.5 after the Rollout status heading was renumbered (§5.4 is now Pie chart row) - SKILL.md comp_req_cell(): trlc=True with both counts zero returned "✅ Available (0/0 comp_req [TRLC])" instead of "❌ Open" because the zero-guard only fired when parts was empty, but trlc forced a part entry; fix: check ct==0 and at==0 unconditionally before building parts - SKILL.md §6a.2: count_directives() was referenced but never defined; replaced with count_directives_with_status(...)[1] - quality_runners.py: zip() paired unit-test and coverage dicts by position, silently dropping rust coverage exit codes beyond the first module; replaced with a flat check over the merged dict * style: collapse any() to single line to satisfy ruff * Address remaining PR #230 review findings - §1: clarify NM and Diagnostic Services are PA1-only (no own repo, no known_good.json key); their PA2-PA5 cells render ❌ Open by design and they contribute 0 to the per-PA progress charts. - §2: cross-reference note explaining why no rows exist for them and what to do once their repos are created. - §4 PA5: drop the orphaned 5th pipe column on the Static Analysis row (silently dropped by Markdown renderers); promote the no-link discipline note to a blockquote below the table covering both Static and Dynamic Analysis. * Roadmap: add Safety Analysis and Safety Management to Qualifiable State Addresses PR #230 review comments by @aschemmel-tech and @masc2023: - Add **Safety Analysis** to the mandatory process areas list — it is already highlighted (blue) in the Development grid below, the prose list was inconsistent. - Add **Safety Management** to the mandatory list and switch its Management-grid card from card-pa-grey to card-pa-highlight. Safety Management produces the safety manuals and the safety (release) package required for qualification, so it is a mandatory condition for the Qualifiable State. - Add a short rationale paragraph explaining why both PAs are mandatory. --------- Co-authored-by: Alexander Lanin <Alexander.Lanin@etas.com>
1 parent d489ba9 commit 025951e

33 files changed

Lines changed: 5147 additions & 35 deletions

.github/skills/overall-status/SKILL.md

Lines changed: 1141 additions & 0 deletions
Large diffs are not rendered by default.

docs/_assets/custom.css

Lines changed: 295 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,295 @@
1+
/* *******************************************************************************
2+
* Copyright (c) 2026 Contributors to the Eclipse Foundation
3+
*
4+
* See the NOTICE file(s) distributed with this work for additional
5+
* information regarding copyright ownership.
6+
*
7+
* This program and the accompanying materials are made available under the
8+
* terms of the Apache License Version 2.0 which is available at
9+
* https://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* SPDX-License-Identifier: Apache-2.0
12+
* *****************************************************************************/
13+
14+
/* ---------------------------------------------------------------------------
15+
* Compact process-area overview tables (used in feature_and_process_status.rst)
16+
* ---------------------------------------------------------------------------*/
17+
18+
.compact-overview-wrapper {
19+
overflow-x: auto;
20+
}
21+
22+
.compact-overview-table td:nth-child(1),
23+
.compact-overview-table th:nth-child(1),
24+
.compact-overview-table td:nth-child(5),
25+
.compact-overview-table th:nth-child(5),
26+
.compact-overview-table td:nth-child(6),
27+
.compact-overview-table th:nth-child(6) {
28+
text-align: center;
29+
vertical-align: middle;
30+
}
31+
32+
.compact-overview-table {
33+
width: 100%;
34+
table-layout: fixed;
35+
max-width: 100%;
36+
}
37+
38+
.compact-overview-table td {
39+
width: 33%;
40+
overflow: hidden;
41+
}
42+
43+
.compact-overview-table td:has(img[id^="needpie-"]) {
44+
vertical-align: middle;
45+
text-align: center;
46+
}
47+
48+
/* Override the fixed pixel size sphinx-needs writes into the img attributes */
49+
.small-pie-cell img,
50+
.compact-overview-table td img,
51+
img[id^="needpie-"] {
52+
width: 100% !important;
53+
max-width: 100% !important;
54+
height: auto !important;
55+
display: block;
56+
margin: 0 auto;
57+
}
58+
59+
/* ---------------------------------------------------------------------------
60+
* Module phase tracker table (also used in feature_and_process_status.rst)
61+
* ---------------------------------------------------------------------------*/
62+
63+
.module-phase-tracker-table td,
64+
.module-phase-tracker-table th {
65+
vertical-align: middle;
66+
white-space: nowrap;
67+
}
68+
69+
.module-phase-tracker-table td:first-child {
70+
font-weight: 600;
71+
}
72+
73+
/* ---------------------------------------------------------------------------
74+
* Wide content area: pages that opt in via a `wide-content-page` body class
75+
* get a full-width article container.
76+
* ---------------------------------------------------------------------------*/
77+
78+
body.wide-content-page .bd-content .bd-article-container {
79+
max-width: 100%;
80+
}
81+
82+
/* ---------------------------------------------------------------------------
83+
* Process-area cards (used in roadmap.rst — Qualifiable State section)
84+
* ---------------------------------------------------------------------------*/
85+
86+
.card-pa-grey {
87+
background-color: #e8e8e8 !important;
88+
border-color: #c8c8c8 !important;
89+
font-size: 0.82rem;
90+
}
91+
92+
.card-pa-grey .sd-card-header {
93+
background-color: #e8e8e8 !important;
94+
border-color: #c8c8c8 !important;
95+
font-size: 0.82rem;
96+
font-weight: 600;
97+
padding: 0.4rem 0.6rem;
98+
}
99+
100+
.card-pa-grey .sd-card-body {
101+
background-color: #e8e8e8 !important;
102+
color: #444;
103+
padding: 0.4rem 0.6rem;
104+
font-size: 0.78rem;
105+
}
106+
107+
/* Thin border around each process-area grid group (Management / Development / Support) */
108+
.score-grid {
109+
border: 1px solid #c0c8d4;
110+
border-radius: 6px;
111+
padding: 0.6rem 0.6rem 0.2rem 0.6rem;
112+
margin-bottom: 1.2rem;
113+
}
114+
115+
/* Compact card grid (Management section) — approximately half the visual size */
116+
.score-grid-compact .sd-card {
117+
min-height: unset;
118+
}
119+
120+
.score-grid-compact .sd-card-header {
121+
padding: 0.2rem 0.35rem !important;
122+
font-size: 0.68rem !important;
123+
}
124+
125+
.score-grid-compact .sd-card-body {
126+
padding: 0.2rem 0.35rem !important;
127+
font-size: 0.62rem !important;
128+
}
129+
130+
/* Highlighted process-area cards (Requirements Engineering, Architecture Design,
131+
Implementation, Verification) */
132+
.card-pa-highlight {
133+
background-color: #1a5fa8 !important;
134+
border-color: #134a87 !important;
135+
font-size: 0.82rem;
136+
}
137+
138+
.card-pa-highlight .sd-card-header {
139+
background-color: #1a5fa8 !important;
140+
border-color: #134a87 !important;
141+
font-size: 0.82rem;
142+
font-weight: 600;
143+
padding: 0.4rem 0.6rem;
144+
color: #ffffff !important;
145+
}
146+
147+
.card-pa-highlight .sd-card-header a,
148+
.card-pa-highlight .sd-card-header a:visited {
149+
color: #ffffff !important;
150+
}
151+
152+
.card-pa-highlight .sd-card-body {
153+
background-color: #1a5fa8 !important;
154+
color: #e8f0fc !important;
155+
padding: 0.4rem 0.6rem;
156+
font-size: 0.78rem;
157+
}
158+
159+
/* ---------------------------------------------------------------------------
160+
* Landing-page grid cards (docs/index.rst): white text, original background.
161+
* ---------------------------------------------------------------------------*/
162+
163+
.landing-grid .sd-card *,
164+
.landing-grid .sd-card a,
165+
.landing-grid .sd-card a:visited,
166+
.landing-grid .sd-card a:hover {
167+
color: #ffffff !important;
168+
}
169+
170+
/* ---------------------------------------------------------------------------
171+
* RST line-blocks inside list-tables (used in overall_status.rst PA cells):
172+
* Sphinx wraps the indented "| ..." continuation in a <blockquote>, which
173+
* adds a left border and a tinted background. Inside a status table we want
174+
* those secondary lines (test counts, coverage values, links) to look like
175+
* regular text — same color, no border, no inset background.
176+
* ---------------------------------------------------------------------------*/
177+
178+
table.docutils blockquote,
179+
table blockquote {
180+
margin: 0 !important;
181+
padding: 0 !important;
182+
border: none !important;
183+
background: transparent !important;
184+
box-shadow: none !important;
185+
}
186+
187+
table.docutils blockquote > div,
188+
table blockquote > div {
189+
margin: 0 !important;
190+
padding: 0 !important;
191+
}
192+
193+
table.docutils .line-block,
194+
table .line-block {
195+
margin: 0 !important;
196+
padding: 0 !important;
197+
border: none !important;
198+
background: transparent !important;
199+
}
200+
201+
table.docutils .line-block .line,
202+
table .line-block .line {
203+
margin: 0 !important;
204+
padding: 0 !important;
205+
border: none !important;
206+
background: transparent !important;
207+
}
208+
209+
/* ---------------------------------------------------------------------------
210+
* Platform Verification Report admonition (overall_status.rst PA5):
211+
* make this single project-wide deliverable visually prominent.
212+
* ---------------------------------------------------------------------------*/
213+
214+
.admonition.platform-ver-report {
215+
font-size: 1.15rem;
216+
border-left: 6px solid #1a5fa8;
217+
background-color: #eef4fb;
218+
padding: 0.8rem 1rem;
219+
margin: 1.2rem 0;
220+
}
221+
222+
.admonition.platform-ver-report > .admonition-title {
223+
font-size: 1.25rem;
224+
font-weight: 700;
225+
color: #1a5fa8;
226+
margin-bottom: 0.3rem;
227+
}
228+
229+
.admonition.platform-ver-report p {
230+
margin: 0;
231+
font-size: 1.1rem;
232+
}
233+
234+
/* ---------------------------------------------------------------------------
235+
* Process / Implementation status headings (overall_status.rst):
236+
* make rubric headings visually larger, and render the implementation
237+
* status as a single inline row with a progress bar.
238+
* ---------------------------------------------------------------------------*/
239+
240+
p.rubric.status-heading,
241+
.rubric.status-heading {
242+
font-size: 1.35rem;
243+
font-weight: 700;
244+
margin-top: 1.2rem;
245+
margin-bottom: 0.6rem;
246+
color: #1a5fa8;
247+
}
248+
249+
.impl-status-row {
250+
display: flex;
251+
flex-wrap: wrap;
252+
align-items: center;
253+
gap: 0.6rem;
254+
font-size: 1.35rem;
255+
font-weight: 700;
256+
color: #1a5fa8;
257+
margin: 1.2rem 0 0.8rem 0;
258+
}
259+
260+
.impl-status-row .impl-status-label {
261+
white-space: nowrap;
262+
}
263+
264+
.impl-status-row .impl-status-icon {
265+
font-size: 1.25rem;
266+
}
267+
268+
.impl-status-row .impl-status-percent {
269+
min-width: 3.5rem;
270+
text-align: right;
271+
}
272+
273+
.impl-status-row .impl-status-bar {
274+
flex: 1 1 200px;
275+
min-width: 160px;
276+
max-width: 360px;
277+
height: 14px;
278+
background-color: #e3e8ef;
279+
border: 1px solid #c0c8d4;
280+
border-radius: 7px;
281+
overflow: hidden;
282+
}
283+
284+
.impl-status-row .impl-status-fill {
285+
height: 100%;
286+
background: linear-gradient(90deg, #1a5fa8 0%, #4a90d9 100%);
287+
border-radius: 6px 0 0 6px;
288+
}
289+
290+
.impl-status-row .impl-status-detail {
291+
font-size: 1rem;
292+
font-weight: 500;
293+
color: #444;
294+
white-space: nowrap;
295+
}

docs/_assets/pa2_impl_progress.svg

Lines changed: 75 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)