Skip to content

Commit e02d732

Browse files
UnbreakableMJclaude
andcommitted
docs(construct): sync downstream skills to Steelbore Standard §3.2 (v1.30/v1.31)
Propagate the two §3.2 content changes into the downstream skills that restate or instruct on §3.2 rules: - v1.30 (concurrency reframe): concurrency is an architecture-level concern considered from the ground up; adopt where it advances performance, abandon where it degrades it or compromises Stability, and document the trade-off. - v1.31 (compiler-flags notation): BOTH applied and disabled optimization flags must be explicitly noted (build file or build-time message), and any flag that breaks/destabilizes a build MUST be disabled (Stability > Performance). microsoft-rust-guidelines §3.2: full update (concurrency + applied/disabled flag documentation symmetry + §3.2.1 cross-ref). golang & zig: their release-build-flag bullets now carry the applied/disabled documentation rule. No change to spacecraft-rust-guidelines (already "design concurrency in from the start; match aggression to workload"), elixir/erlang ("concurrency is the default lever" — aligned), or gnu-coding-standards (already cites §3.2.1; GNU CFLAGS philosophy left intact). Bundles rebuilt; drift sweep clean; reuse lint 326/326. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 591ffe6 commit e02d732

9 files changed

Lines changed: 20 additions & 6 deletions

File tree

microsoft-rust-guidelines.skill

380 Bytes
Binary file not shown.

microsoft-rust-guidelines.zip

380 Bytes
Binary file not shown.

microsoft-rust-guidelines/SKILL.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,21 @@ are not manifests) are exempt; software source files are not.
182182

183183
### §3.2 — Performance
184184

185-
- Concurrency must be **designed-in from the start**, never bolted on retroactively.
186-
- Release profiles must use `-C target-cpu=native` (or `RUSTFLAGS=-C target-cpu=native`),
187-
LTO (`lto = true`), and PGO where the toolchain supports it.
188-
- Benchmarking is **mandatory** before and after any optimization work; regressions
189-
must be documented and justified.
185+
- Concurrency is an **architecture-level concern** — designed in from the start, never
186+
bolted on. Adopt it where it genuinely advances performance; where it would degrade
187+
performance (synchronization overhead, lock contention, inherently serial or small
188+
workloads) or compromise Stability (Priority 1), choose the simpler serial approach and
189+
**document the trade-off**.
190+
- Release profiles should use `-C target-cpu=native` (or `RUSTFLAGS=-C target-cpu=native`),
191+
LTO (`lto = true`), and PGO where the toolchain supports them reliably. **Note every
192+
applied flag and every disabled flag (with its reason)** — a comment in `Cargo.toml` /
193+
`build.rs` or a build-time message — so flag state is visible at compile time. Any flag
194+
that breaks or destabilizes the build on a given platform/toolchain (e.g. LTO under some
195+
NixOS, cross-compilation, or static-linking setups) MUST be disabled; Stability
196+
(Priority 1) outranks Performance. See `spacecraft-standard` §3.2.1.
197+
- Benchmarking is **mandatory** before and after any optimization work; regressions must
198+
be documented and justified — it is also the evidence for the concurrency-vs-serial
199+
trade-off above.
190200

191201
### §3.3 — Security & Dependency Auditing
192202

spacecraft-golang-guidelines.skill

189 Bytes
Binary file not shown.

spacecraft-golang-guidelines.zip

85 Bytes
Binary file not shown.

spacecraft-golang-guidelines/SKILL.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ Never use raw `go func() { ... }()` without a `sync.WaitGroup` or `errgroup` in
6464

6565
## Build, Tooling & CI (Non-Negotiable)
6666
- `go test -race ./...` must pass (enforce in CI).
67-
- Release builds: `go build -ldflags="-s -w"`.
67+
- Release builds: `go build -ldflags="-s -w"`. Per `spacecraft-standard` §3.2, note every
68+
applied optimization/linker flag and every disabled one (with the reason) — in the build
69+
script or a build-time message — so flag state is visible at compile time.
6870
> **OS-specific note:** Go's toolchain manages its own linker, but when building
6971
> cgo-enabled packages that invoke the system C linker on NixOS, LTO and similar
7072
> cross-module optimizations may require `-fuse-ld=mold` (preferred) or `-fuse-ld=bfd`

spacecraft-zig-guidelines.skill

188 Bytes
Binary file not shown.

spacecraft-zig-guidelines.zip

84 Bytes
Binary file not shown.

spacecraft-zig-guidelines/SKILL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ Never fall back to raw `std.Thread.spawn` in hot paths — always go through a p
8181
- Safe development: `zig build -Doptimize=ReleaseSafe` (or Debug).
8282
- Production verification: same + `std.testing.allocator` runs that must pass with zero leaks.
8383
- Final performance: `zig build -Doptimize=ReleaseFast` (Zig enables LTO-like behavior via its pipeline).
84+
Per `spacecraft-standard` §3.2, note every applied optimization flag and every disabled one
85+
(with the reason) — in `build.zig` or a build-time message — so flag state is visible at compile time.
8486
> **OS-specific note:** When wrapping C libraries or using an external linker on NixOS,
8587
> LTO may require `-fuse-ld=mold` (preferred) or `-fuse-ld=bfd` because `/nix/store`
8688
> isolation keeps the GCC LTO plugin off the default linker path. See `spacecraft-standard`

0 commit comments

Comments
 (0)