Skip to content

feat(standard): publish §3.2.1 Platform-Specific Compiler & Linker Flag Caveats — v1.43 - #22

Merged
UnbreakableMJ merged 1 commit into
mainfrom
standard-v1.43-publish-321
Aug 5, 2026
Merged

feat(standard): publish §3.2.1 Platform-Specific Compiler & Linker Flag Caveats — v1.43#22
UnbreakableMJ merged 1 commit into
mainfrom
standard-v1.43-publish-321

Conversation

@UnbreakableMJ

Copy link
Copy Markdown
Contributor

Why

Comparing the .texi against spacecraft-standard-constitution/SKILL.md section 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 .texi returns 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 -flto must 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
  • 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, matching existing practice.
  • §16 gains no bullet. Its §3.2 item already requires flags to be "applied/disabled with explicit notation" — §3.2.1 makes that platform-aware rather than adding a separate obligation.
  • CHANGELOG.md entry prepended; .md companion regenerated.

Verification

  • makeinfo --no-split The_Steelbore_Standard.texizero errors, zero warnings
  • reuse lint → compliant
  • python3 .github/validate-configs.py → 3 config files, 0 failed
  • §16 checklists cross-checked between the two documents: 26 items each, same section ids — no drift there.

Companion PR

The skill side (masthead, frontmatter version, references/CHANGELOG.md, rebuilt bundles) follows in Construct at the same version, per the two-repo rule in CLAUDE.md.

🤖 Generated with Claude Code

…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>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@UnbreakableMJ
UnbreakableMJ merged commit cdd71a0 into main Aug 5, 2026
1 check passed
@UnbreakableMJ
UnbreakableMJ deleted the standard-v1.43-publish-321 branch August 5, 2026 09:20
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant