feat(standard): publish §3.2.1 Platform-Specific Compiler & Linker Flag Caveats — v1.43 - #22
Merged
Merged
Conversation
…ag Caveats — v1.43 Comparing the .texi against the skill section by section turned up exactly one structural difference: §3.2.1 exists in spacecraft-standard-constitution and has never existed in the published document. No version carried it, and neither changelog recorded it. It entered the skill during a rename commit rather than a normative one, so the bump-and-record step was skipped. The omission was invisible from both sides — the skill looked complete, and the Standard had nothing to be missing. There is no new rule here. Agents have been following §3.2.1 out of the skill; this puts it in the document that is supposed to be normative. The section: compiler and linker optimization flags are not universally portable across operating systems and distributions, so linker and LTO flags must be adapted to the target platform's toolchain layout. Concretely, NixOS isolates packages in /nix/store and GCC's LTO plugin is therefore off the standard linker search path, so -flto must be paired with -fuse-ld=mold (preferred) or -fuse-ld=bfd or the build fails to link. Generalized: verify whether the target OS needs supplementary flags or a different linker whenever applying -flto, -march=native, or PGO, and document that alongside the flag. This is the platform-specific companion to §3.2's existing rule that every applied and every disabled flag be noted — §3.2 says record the flag state, §3.2.1 says the correct state is not the same everywhere. §16 gains no bullet: its §3.2 item already requires flags to be "applied/disabled with explicit notation", which §3.2.1 simply makes platform-aware. @settitle, @set VERSION, @set UPDATED bumped to 1.43 / 2026-08-05. Added as a @subsection with its own @menu under §3.2, mirroring how §3.1.1 sits under §3.1; subsections stay out of the master menu, as they already do there. makeinfo --no-split: zero errors, zero warnings. reuse lint and validate-configs pass. .md companion regenerated via texi2any --docbook | pandoc -f docbook -t gfm. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
UnbreakableMJ
added a commit
to Spacecraft-Software/Construct
that referenced
this pull request
Aug 5, 2026
Companion to Spacecraft-Software/Standard#22, which publishes §3.2.1 (Platform-Specific Compiler & Linker Flag Caveats) to the .texi. §3.2.1 has been in this skill for some time and had never been in the published document — no version carried it, neither changelog recorded it. It arrived here in a rename commit rather than a normative one, so the bump-and-record step was skipped, and the gap was invisible from both sides: this skill looked complete, and the Standard had nothing to be missing. It surfaced only on a section-by- section comparison, as the single structural difference across 88 sections. The rule's text here is untouched. Agents loading this skill have been applying §3.2.1 all along; what changed is that the normative document now contains it. Only the masthead and frontmatter version move, plus the changelog entry recording why a version bump carries no rule change. description measures 976/1000 (§5.6). Both bundles rebuilt; drift sweep clean. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Comparing the
.texiagainstspacecraft-standard-constitution/SKILL.mdsection by section turned up exactly one structural difference across 88 sections: §3.2.1 exists in the skill and has never existed in the published document.No version carried it. Neither changelog recorded it.
git log -S "3.2.1"on the.texireturns nothing, and the skill picked it up in a rename commit rather than a normative one — so the usual bump-and-record step was skipped.The omission was invisible from both sides: the skill looked complete, and the Standard had nothing to be missing.
There is no new rule here. Agents have been following §3.2.1 out of the skill for some time. This puts it in the document that is supposed to be normative.
The section
Compiler and linker optimization flags are not universally portable across operating systems and distributions — just as systemd-specific settings do not apply to non-systemd distros (GNU Guix System, Void Linux, Gentoo with OpenRC), linker and LTO flags must be adapted to the target platform's toolchain layout.
Concretely, NixOS / Steelbore OS Bravais: because NixOS isolates packages in
/nix/store, GCC's LTO plugin is not on the standard linker search path, so-fltomust be paired with-fuse-ld=mold(preferred) or-fuse-ld=bfd(fallback) or the build fails to link.Generalized: whenever applying
-flto,-march=native, or PGO, verify whether the target OS needs supplementary flags or a different linker, and document that alongside the flag.This is the platform-specific companion to §3.2's existing requirement that every applied and every disabled flag be explicitly noted — §3.2 says record the flag state; §3.2.1 says the correct state is not the same everywhere.
Scope
@settitle,@set VERSION,@set UPDATED→ 1.43 / 2026-08-05@subsectionwith its own@menuunder §3.2, mirroring how §3.1.1 sits under §3.1. Subsections stay out of the master menu, matching existing practice.CHANGELOG.mdentry prepended;.mdcompanion regenerated.Verification
makeinfo --no-split The_Steelbore_Standard.texi→ zero errors, zero warningsreuse lint→ compliantpython3 .github/validate-configs.py→ 3 config files, 0 failedCompanion PR
The skill side (masthead, frontmatter version,
references/CHANGELOG.md, rebuilt bundles) follows in Construct at the same version, per the two-repo rule inCLAUDE.md.🤖 Generated with Claude Code