Skip to content

Commit f1fed47

Browse files
UnbreakableMJclaude
andcommitted
docs(construct): align spacecraft-rust-guidelines concurrency posture with §3.2 v1.31
Replace the project-class heuristic ("restraint for CLIs/tools, aggression for kernels/daemons") with §3.2 v1.31's workload-driven framing: concurrency is designed in from the ground up, matched to the workload rather than the project label — adopt parallelism where it advances performance (including the many CLIs that do real work, e.g. parallel scanners), fall back to serial where the workload is inherently serial/small or concurrency would degrade performance or compromise Stability, and document the trade-off. Keeps the benchmark-to-decide and "you make the call" agency notes. Bundle rebuilt; drift clean; reuse lint passes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent e02d732 commit f1fed47

3 files changed

Lines changed: 10 additions & 5 deletions

File tree

spacecraft-rust-guidelines.skill

246 Bytes
Binary file not shown.

spacecraft-rust-guidelines.zip

246 Bytes
Binary file not shown.

spacecraft-rust-guidelines/SKILL.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,11 +141,16 @@ Three Rust skills coexist; they occupy different planes and must not compete to
141141
— but never leak `parking_lot` (or any third-party) types across a **public API**
142142
surface. Keep them behind your own types/`std` types at the boundary. This resolves
143143
the "prefer `parking_lot`" vs "don't leak third-party types" tension cleanly.
144-
- **Default posture by project class.** Match aggression to the target:
145-
**restraint** (profile first, don't pre-optimise) for CLIs and tools;
146-
**aggression** (design concurrency in from the start) for kernels, daemons, and
147-
perf-critical paths. The skills can't tell which project they're in — you decide by
148-
class, then apply the matching default.
144+
- **Match concurrency to the workload, decided up front.** Per the Steelbore Standard
145+
§3.2, concurrency is an architecture-level concern — designed in from the ground up,
146+
never bolted on — but the lever is the *workload*, not the project class. Adopt
147+
parallelism wherever it genuinely advances performance (data-parallel, CPU-bound, or
148+
high-throughput I/O — kernels, daemons, perf-critical paths, **and** the many CLIs/tools
149+
that do real work, e.g. parallel scanners). Choose a simpler serial design where the
150+
workload is inherently serial or small, or where concurrency would degrade performance
151+
(synchronization overhead, lock contention) or compromise Stability (Priority 1) — and
152+
**document that trade-off**. Don't pre-optimise blindly: benchmark to decide. The skill
153+
can't tell which workload you're in — you make the call from its shape, not its label.
149154

150155
## Closing Directive
151156
The code you write must be the code you would trust on a spacecraft: robust,

0 commit comments

Comments
 (0)