|
5 | 5 | @setfilename The_Steelbore_Standard.info |
6 | 6 | @documentencoding UTF-8 |
7 | 7 | @documentlanguage en |
8 | | -@settitle The Steelbore Standard 1.30 |
| 8 | +@settitle The Steelbore Standard 1.31 |
9 | 9 | @c %**end of header |
10 | 10 |
|
11 | | -@set VERSION 1.30 |
| 11 | +@set VERSION 1.31 |
12 | 12 | @set UPDATED 2026-06-24 |
13 | 13 | @set SUBDOMAIN https://Standard.SpacecraftSoftware.org/ |
14 | 14 |
|
@@ -106,6 +106,14 @@ are separate concerns. |
106 | 106 | @section Changelog |
107 | 107 | @itemize |
108 | 108 | @item |
| 109 | +@strong{v1.31 (2026-06-24):} @strong{§3.2} compiler optimization flag |
| 110 | +documentation rule extended --- previously only @emph{disabled} flags |
| 111 | +required documentation; now @strong{both applied and disabled} flags must |
| 112 | +be explicitly noted (comment in build file or build-time message). |
| 113 | +Symmetrical notation makes the full flag state visible at compile time |
| 114 | +and makes build errors traceable to specific flags. |
| 115 | +Compliance-checklist §3.2 bullet updated. |
| 116 | +@item |
109 | 117 | @strong{v1.30 (2026-06-24):} @strong{§3.2} reframed --- modern hardware |
110 | 118 | universally provides multi-core/multi-thread capability; harnessing that |
111 | 119 | concurrency is the primary performance lever. Concurrency is an |
@@ -670,12 +678,15 @@ trade-off documented. |
670 | 678 | @item |
671 | 679 | Release builds should use CPU-optimized flags --- @code{-march=native}, |
672 | 680 | LTO, PGO --- @strong{where the toolchain and target support them |
673 | | -reliably.} Any such flag known to break or destabilize builds on a given |
674 | | -platform, toolchain, or linker configuration (e.g., LTO under certain |
675 | | -NixOS, cross-compilation, or static-linking setups) MUST be disabled and |
676 | | -the reason documented. Stability (Priority 1) outranks Performance |
677 | | -(Priority 2), so a build-breaking or instability-inducing optimization |
678 | | -always yields --- never ship a broken build for the sake of a flag. |
| 681 | +reliably.} @strong{Every applied flag must be explicitly noted} (e.g., a |
| 682 | +comment in the build file or a build-time message); @strong{every |
| 683 | +disabled flag and the reason for disabling must be equally noted.} |
| 684 | +Visible flag state at compile time makes errors traceable to a specific |
| 685 | +flag. Any flag known to break or destabilize a build on a given platform, |
| 686 | +toolchain, or linker configuration (e.g., LTO under certain NixOS, |
| 687 | +cross-compilation, or static-linking setups) MUST be disabled. Stability |
| 688 | +(Priority 1) outranks Performance (Priority 2) --- never ship a broken |
| 689 | +build for the sake of a flag. |
679 | 690 | @item |
680 | 691 | Benchmarking is @strong{mandatory} before and after any optimization |
681 | 692 | work; regressions must be documented and justified --- and it is the |
@@ -2118,7 +2129,8 @@ robust error handling, fault tolerance, and test-verified |
2118 | 2129 | ☐ @strong{§3.2} Performance: concurrency considered throughout |
2119 | 2130 | architecture design; adopted where it advances performance, abandoned |
2120 | 2131 | where it degrades performance or compromises Stability; serial |
2121 | | -trade-off documented; benchmarking before/after |
| 2132 | +trade-off documented; compiler optimization flags applied/disabled with |
| 2133 | +explicit notation; benchmarking before/after |
2122 | 2134 | @item |
2123 | 2135 | ☐ @strong{§3.3} Hardened security; PQC readiness addressed |
2124 | 2136 | @item |
|
0 commit comments