Skip to content

Commit b353403

Browse files
feat(standard): sync §3.2 compiler flags notation rule to skill — v1.31 (#9)
Both applied and disabled compiler optimization flags must now be explicitly noted (comment in build file or build-time message), making the full flag state visible at compile time so errors are traceable to specific flags. Mirrors Standard v1.31. Frontmatter description, masthead, checklist bullet, and CHANGELOG.md updated. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 4d57403 commit b353403

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

spacecraft-standard/SKILL.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ description: >
88
Spacecraft Software-umbrella project — even if the user doesn't explicitly mention the Standard.
99
If the user mentions "Spacecraft Software", a Spacecraft Software subproject name, or asks you to work on
1010
anything in the Spacecraft Software ecosystem, consult this skill immediately. It encodes
11-
The Steelbore Standard v1.30 (§3.2 concurrency as architecture-level concern; modern hardware rationale; adoption/abandonment conditions explicit; Texinfo source pipeline; §3.3 Security by Design; §8 Texinfo; §7 Shell Environment) so
11+
The Steelbore Standard v1.31 (§3.2 compiler flags: applied+disabled both explicitly noted; concurrency as architecture-level concern; modern hardware rationale; Texinfo source pipeline; §3.3 Security by Design; §8 Texinfo; §7 Shell Environment) so
1212
you never need to ask for it or have it attached to a prompt again.
1313
license: GPL-3.0-or-later
1414
maintainer: Mohamed Hammad <Mohamed.Hammad@SpacecraftSoftware.org>
@@ -17,7 +17,7 @@ website: https://Construct.SpacecraftSoftware.org/
1717

1818
# The Steelbore Standard — Compliance Reference
1919

20-
**Version:** 1.30 | **Date:** 2026-06-24 | **Author:** Mohamed Hammad
20+
**Version:** 1.31 | **Date:** 2026-06-24 | **Author:** Mohamed Hammad
2121
**Maintainer:** Mohamed Hammad | **Contact:** [Mohamed.Hammad@SpacecraftSoftware.org](mailto:Mohamed.Hammad@SpacecraftSoftware.org)
2222
**Copyright:** Copyright (C) 2026 Mohamed Hammad & Spacecraft Software | **License:** GPL-3.0-or-later
2323
**Website:** [https://Construct.SpacecraftSoftware.org/](https://Construct.SpacecraftSoftware.org/)
@@ -160,11 +160,14 @@ degrades performance (synchronization overhead, lock contention, or inherently s
160160
workloads) or where it would compromise Priority 1 (Stability). When a serial or simpler
161161
approach outperforms or is safer, it must be chosen and the trade-off documented.
162162
- Release builds should use CPU-optimized flags — `-march=native`, LTO, PGO —
163-
**where the toolchain and target support them reliably.** Any such flag known to
164-
break or destabilize builds on a given platform/toolchain/linker (e.g., LTO under
165-
certain NixOS, cross-compilation, or static-linking setups) MUST be disabled and
166-
the reason documented. Stability (P1) outranks Performance (P2) — never ship a
167-
broken or unstable build for the sake of a flag.
163+
**where the toolchain and target support them reliably.** **Every applied flag must
164+
be explicitly noted** (e.g., a comment in the build file or a build-time message);
165+
**every disabled flag and the reason for disabling must be equally noted.** Visible
166+
flag state at compile time makes errors traceable to a specific flag. Any flag known
167+
to break or destabilize a build on a given platform/toolchain/linker (e.g., LTO
168+
under certain NixOS, cross-compilation, or static-linking setups) MUST be disabled.
169+
Stability (P1) outranks Performance (P2) — never ship a broken build for the sake
170+
of a flag.
168171
- Benchmarking is **mandatory** before and after any optimization work; regressions must
169172
be documented and justified — and it is the evidence by which the concurrency-vs-serial
170173
trade-off above is decided.
@@ -837,7 +840,7 @@ Before finalising **any** Spacecraft Software artifact, mentally verify:
837840

838841
- [ ] **§2** Aerospace/Sci-Fi/AI naming convention applied to all **new** identifiers; legacy (pre-v1.2) names preserved unless explicitly renamed
839842
- [ ] **§3.1** Stability: memory safety (Rust, or ASLR+CFI documented); robust error handling, fault tolerance, and test-verified
840-
- [ ] **§3.2** Performance: concurrency considered throughout architecture design; adopted where it advances performance, abandoned where it degrades performance or compromises Stability; serial trade-off documented; benchmarking before/after
843+
- [ ] **§3.2** Performance: concurrency considered throughout architecture design; adopted where it advances performance, abandoned where it degrades performance or compromises Stability; serial trade-off documented; compiler optimization flags applied/disabled with explicit notation; benchmarking before/after
841844
- [ ] **§3.3** Hardened security; PQC readiness addressed
842845
- [ ] **§4.1** License is `GPL-3.0-or-later` or `AGPL-3.0-or-later` (AGPL for network-facing; per §4.1)
843846
- [ ] **§4.2** Upstream copyright notices, license texts, and `NOTICE`/`AUTHORS` preserved verbatim; upstream licenses shipped in `LICENSES/`

spacecraft-standard/references/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ holds the full history so it doesn't load into agent context on every skill
1111
activation. The published Standard document (`standard/The_Steelbore_Standard.md`)
1212
keeps its own inline changelog as the canonical record.
1313

14+
- **v1.31 (2026-06-24):** **§3.2** compiler optimization flag documentation rule extended — previously only *disabled* flags required documentation; now **both applied and disabled** flags must be explicitly noted (comment in build file or build-time message). Symmetrical notation makes the full flag state visible at compile time and makes build errors traceable to specific flags. Compliance-checklist §3.2 bullet updated.
1415
- **v1.30 (2026-06-24):** **§3.2** reframed — modern hardware universally provides multi-core/multi-thread capability; harnessing that concurrency is the primary performance lever. Concurrency is now an **architecture-level concern**, considered from the ground up throughout design (not bolted on at implementation). Adoption/abandonment conditions explicit: embrace concurrency where it advances performance; abandon it where it degrades performance (overhead, contention, serial workloads) or compromises Priority 1 (Stability). Compliance-checklist §3.2 bullet revised.
1516
- **v1.29 (2026-06-23):** **Source of truth switched to Texinfo**`The_Steelbore_Standard.texi` is now the canonical source; `.md` and `.html` are generated outputs (`make md` / `make html`); `.docx`/`.odt` produced on request only. `Makefile` and `spacecraft.css` added. Skill Cross-References updated: "Authoring a Texinfo manual" row now points to `spacecraft-texinfo` skill; "DOCX/ODT/PDF" row clarified as on-demand. `source-format` metadata updated from `odt` to `texi`.
1617
- **v1.28 (2026-06-23):** **§2.1:** corrected `Aetheric` (was Active) and `Ferrocast` (was Planning) to **Deprecated** — both superseded by other projects, matching their status in `PROJECTS.md`.

0 commit comments

Comments
 (0)