diff --git a/.github/check-skill-refs.py b/.github/check-skill-refs.py index 5985d39..8639eec 100644 --- a/.github/check-skill-refs.py +++ b/.github/check-skill-refs.py @@ -77,7 +77,7 @@ # Paths whose document-version pin is legitimate: the skill that encodes the # Standard carries its version by design, and changelogs are history. -VERSION_EXEMPT_PARTS = ("spacecraft-standard-constitution",) +VERSION_EXEMPT_PARTS = ("spacecraft-steelbore-standard",) VERSION_EXEMPT_NAMES = ("CHANGELOG.md",) # Changelogs also name things that have since been renamed or removed — that is diff --git a/AGENTS.md b/AGENTS.md index 55d78ca..079fc5c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -22,10 +22,10 @@ gnu-* microsoft-*` or check the README table if this drifts) span three groups: infra/tooling (`spacecraft-agentic-cli`, `spacecraft-brand-guidelines`, `spacecraft-cli-preference`, `spacecraft-cli-shell`, `spacecraft-cli-standard`, `spacecraft-document-format`, `spacecraft-markdown-document`, -`spacecraft-missing-pkg`, `spacecraft-standard-constitution`, +`spacecraft-missing-pkg`, `spacecraft-steelbore-standard`, `spacecraft-texinfo-document`, `spacecraft-theme-factory`, `gnu-coding-standards`, `gnu-free-software`), the governing Standard skill -(`spacecraft-standard-constitution`), and one `spacecraft--guidelines` +(`spacecraft-steelbore-standard`), and one `spacecraft--guidelines` skill per supported language (currently: ada, carbon, chez, clang, clojure, commonlisp, cpp, dartflutter, elixir, erlang, gleam, golang, guile, java, kotlin, lua, nickel, nim, nix, nu, ocamel, python, rust, swift, typescript, @@ -45,7 +45,7 @@ presence — adding a new skill directory is enough; no flake edit needed. (see `excludedDirs` in `flake.nix`). The authoritative governance document for everything produced in this repo is -[`spacecraft-standard-constitution/SKILL.md`](spacecraft-standard-constitution/SKILL.md), which encodes +[`spacecraft-steelbore-standard/SKILL.md`](spacecraft-steelbore-standard/SKILL.md), which encodes The Steelbore Standard — it carries the current version in its own masthead, so none is repeated here to go stale. Load it before any non-trivial edit — its §14 checklist is the audit gate. The skill is the upstream of the published `standard/` document; @@ -111,7 +111,7 @@ is mechanical — apply it after **any** edit inside a `/` directory ``` Add `/assets` to both lines if the skill has an `assets/` dir (today only `spacecraft-agentic-cli` does). Omit any argument the skill - doesn't have — `spacecraft-standard-constitution` is SKILL.md-only; many skills omit + doesn't have — `spacecraft-steelbore-standard` is SKILL.md-only; many skills omit the in-directory LICENSE entirely; `CREDITS.md` exists only where §15.3 applies (`microsoft-rust-guidelines`, `gnu-coding-standards`, `spacecraft-cli-preference`, `spacecraft-rust-guidelines`, @@ -169,7 +169,7 @@ matching bundle change. **Detecting already-committed drift.** A clean working tree does *not* prove the bundles are current: a past commit can bump `SKILL.md` while forgetting the bundle, leaving a committed `.zip`/`.skill` that silently lags its source (this -has happened — `spacecraft-standard-constitution` shipped v1.12 against a v1.18 `SKILL.md`). +has happened — `spacecraft-steelbore-standard` shipped v1.12 against a v1.18 `SKILL.md`). `git status` can't see it. Before trusting the install surface, sweep: ```sh @@ -194,7 +194,7 @@ Any `DRIFT:` line means rebuild that skill's bundles and commit. The sweep now walks the **whole** bundle: `(a)` content-diffs every file the `.zip` contains (`SKILL.md`, `references/**`, `LICENSE`, `CREDITS.md`, `assets/**`) against the working tree, and `(b)` flags any shippable file on disk that the bundle is -missing — so adding a `references/` file (e.g. `spacecraft-standard-constitution`'s +missing — so adding a `references/` file (e.g. `spacecraft-steelbore-standard`'s `CHANGELOG.md`) without rebuilding is caught too. It checks `.zip` as the canonical surface; `.skill` is built in lockstep from the same args in the same commit, so a drifted `.zip` implies a drifted `.skill`. @@ -336,8 +336,8 @@ does **not** invoke it. Verify after rebuild: ```sh -readlink -f ~/.claude/skills/spacecraft-standard-constitution -# → /spacecraft-software/construct/spacecraft-standard-constitution +readlink -f ~/.claude/skills/spacecraft-steelbore-standard +# → /spacecraft-software/construct/spacecraft-steelbore-standard ``` If the symlink still resolves into a stale `/nix/store/-hm_*` path @@ -396,7 +396,7 @@ The assistant performs no `rsync`, no symlink setup, and no | xargs -0 python3 .githooks/check-description-length.py ``` - **`microsoft-rust-guidelines` is intentionally `user-invocable: false`.** It is - the mandatory auto-load Rust base — `spacecraft-standard-constitution` mandates loading it + the mandatory auto-load Rust base — `spacecraft-steelbore-standard` mandates loading it before any Rust, `spacecraft-rust-guidelines` defers to it as "load first," and `gnu-coding-standards` / `spacecraft-cli-standard` / `spacecraft-agentic-cli` chain to it. It fires automatically from its own description and those chains, diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d593473..6f358c2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -217,7 +217,7 @@ consolidated zip intentionally differs from any on-disk tree). opt-in per clone, so it is explicitly *not* the gate; §5.6 requires the two above precisely because a hook can be skipped. - **`microsoft-rust-guidelines` is intentionally `user-invocable: false`.** It is - the mandatory auto-load Rust base — `spacecraft-standard-constitution` mandates loading it + the mandatory auto-load Rust base — `spacecraft-steelbore-standard` mandates loading it before any Rust and `spacecraft-rust-guidelines` defers to it as "load first," so it fires automatically and is hidden from the `/` menu on purpose. Do **not** remove the field to "fix" a perceived load failure — that is by design. diff --git a/README.md b/README.md index 76a595a..f5511e4 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ the rules re-attached to every prompt. | [`spacecraft-python-guidelines`](spacecraft-python-guidelines/) | Type-safe highly-concurrent Python guidance (targeting Python 3.12+) — strict static typing (`mypy`), boundary validation (`Pydantic v2`), non-blocking asynchronous event loops (`asyncio`), multiprocess CPU scaling (`ProcessPoolExecutor`), memory-optimized slots classes, and Ruff linting rules. | | [`spacecraft-qt-guidelines`](spacecraft-qt-guidelines/) | Memory-safe Qt 6 desktop guidance, Rust-first — CXX-Qt bridges for logic and QML models with an honest coverage boundary, `QObject` single-ownership discipline, `deleteLater` and context-object connect rules, worker-object threading (never a `QThread` subclass), named `QMutexLocker` guards, `QAccessibleInterface` for custom paint, `QPalette`/QSS theming, and QML↔C++ ownership. | | [`spacecraft-rust-guidelines`](spacecraft-rust-guidelines/) | High-performance concurrent Rust guidance — concurrency model selection, lock-free synchronisation, memory layout, tooling gates, and unsafe hygiene — plus a distilled idiom layer (`references/idioms.md`, adapted from Apollo's Rust Best Practices, MIT) covering borrowing, clippy discipline, testing, dispatch, and type-state. | -| [`spacecraft-standard-constitution`](spacecraft-standard-constitution/) | Authoritative compliance reference (The Steelbore Standard). | +| [`spacecraft-steelbore-standard`](spacecraft-steelbore-standard/) | Authoritative compliance reference (The Steelbore Standard). | | [`spacecraft-swift-guidelines`](spacecraft-swift-guidelines/) | Type-safe highly-concurrent Swift guidance (targeting Swift 6.2+) — Swift 6.2 concurrency, explicit `@concurrent` background offloading, isolated conformances, `@MainActor` isolated ViewModels, Swift Testing `@Suite` and `@Test` parameterized checks, and ARC reference cycle safety. | | [`spacecraft-texinfo-document`](spacecraft-texinfo-document/) | How-to layer for authoring, building, linting, and converting GNU Texinfo — the canonical Spacecraft prose format (one `.texi` → Info/HTML/PDF/DocBook/text/EPUB); house-style header/licensing, node/menu discipline, `@def*` API docs, the `texi2any`/`texi2pdf` toolchain, and HTML/PDF brand theming. | | [`spacecraft-theme-factory`](spacecraft-theme-factory/) | Generates Spacecraft Software-compliant themes for IDEs and terminals. | @@ -154,7 +154,7 @@ To pick up the latest commit, run `nix flake update construct` in the consumer flake and rebuild. Individual skills are also exposed as packages — e.g. -`nix build github:Spacecraft-Software/Construct#spacecraft-standard-constitution` produces +`nix build github:Spacecraft-Software/Construct#spacecraft-steelbore-standard` produces a `result/` directory with that skill's contents. ### Grok skills @@ -191,7 +191,7 @@ regeneration contract. ## Standards All skills in this repository are expected to conform to -[The Steelbore Standard](spacecraft-standard-constitution/) — including: +[The Steelbore Standard](spacecraft-steelbore-standard/) — including: - **§4** SPDX/REUSE-compliant licensing (§4.3): two-tag headers / `REUSE.toml`, a `LICENSES/` directory, `reuse lint`-clean. Skills are GPL-3.0-or-later (§4.1.1); @@ -207,7 +207,7 @@ This repository follows the [REUSE specification](https://reuse.software) — se §4.1.1, skills are **GPL-3.0-or-later** by default; third-party-derived skills keep their upstream license (e.g. `microsoft-rust-guidelines` is MIT, `gnu-coding-standards` is GFDL-1.3-or-later). The published Standard *document* is CC-BY-SA-4.0, but the -`spacecraft-standard-constitution` *skill* here is GPL-3.0-or-later. +`spacecraft-steelbore-standard` *skill* here is GPL-3.0-or-later. --- diff --git a/REUSE.toml b/REUSE.toml index e9a1771..2b6642a 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -2,7 +2,7 @@ version = 1 # Default: all Construct skills and tooling are GPL-3.0-or-later (software-class per # Standard §4.1.1). "override" precedence so example SPDX headers embedded in skill prose -# (e.g. spacecraft-standard-constitution's §4.3 example) are not parsed as real license tags. +# (e.g. spacecraft-steelbore-standard's §4.3 example) are not parsed as real license tags. [[annotations]] path = "**" precedence = "override" diff --git a/android-skills/README.md b/android-skills/README.md index 29730c7..6d379aa 100644 --- a/android-skills/README.md +++ b/android-skills/README.md @@ -11,7 +11,7 @@ Google's official **[Android skills](https://github.com/android/skills)**, vendored **verbatim and unmodified** into the Construct catalogue. These are third-party Apache-2.0 skills authored by Google LLC — not Spacecraft Software originals. See [`CREDITS.md`](CREDITS.md) for full provenance and the -[Standard §4.2](../spacecraft-standard-constitution/) upstream-preservation rationale. +[Standard §4.2](../spacecraft-steelbore-standard/) upstream-preservation rationale. Android skills follow the [open-standard agent-skills](https://agentskills.io/) `SKILL.md` format — the same format Claude / Gemini / Codex already load — so diff --git a/gnu-coding-standards.skill b/gnu-coding-standards.skill index c1880a6..b7f546e 100644 Binary files a/gnu-coding-standards.skill and b/gnu-coding-standards.skill differ diff --git a/gnu-coding-standards.zip b/gnu-coding-standards.zip index a9fa319..13b6a0a 100644 Binary files a/gnu-coding-standards.zip and b/gnu-coding-standards.zip differ diff --git a/gnu-coding-standards/SKILL.md b/gnu-coding-standards/SKILL.md index d03909d..50b5472 100644 --- a/gnu-coding-standards/SKILL.md +++ b/gnu-coding-standards/SKILL.md @@ -56,7 +56,7 @@ GNU intent comes in two strengths: - **GNU-compatible** — a Spacecraft/Steelbore project that adopts GNU's conventions where they aid interoperability while **staying itself**: on GitHub, under the Steelbore - palette/brand and `Mohamed.Hammad@SpacecraftSoftware.org` attribution. `spacecraft-standard-constitution` + palette/brand and `Mohamed.Hammad@SpacecraftSoftware.org` attribution. `spacecraft-steelbore-standard` stays primary; **this skill** supplies the GNU conventions for interop, and the free-software *political* mandates are advisory here — Steelbore identity stands. This is this skill's home turf. @@ -69,7 +69,7 @@ GNU intent comes in two strengths: The differentiator is identity-stripping: producing a real free-software/GNU package → `gnu-free-software`; styling Spacecraft code to GNU conventions while staying Steelbore → -this skill (with `spacecraft-standard-constitution`). +this skill (with `spacecraft-steelbore-standard`). ## How to use this skill diff --git a/gnu-coding-standards/references/conventions.md b/gnu-coding-standards/references/conventions.md index 4ff43fd..cd4dd6f 100644 --- a/gnu-coding-standards/references/conventions.md +++ b/gnu-coding-standards/references/conventions.md @@ -235,7 +235,7 @@ build part of the program, never to substitute one behavior for another. > explicitly pointing GCC's linker to the LTO plugin via `-fuse-ld=mold` (preferred) or > `-fuse-ld=bfd` (fallback) because `/nix/store` isolation keeps the plugin off the default > linker path. Just as systemd-specific settings do not apply to non-systemd distros, LTO -> and linker flags must be adapted to the target platform. See `spacecraft-standard-constitution` §3.2.1. +> and linker flags must be adapted to the target platform. See `spacecraft-steelbore-standard` §3.2.1. ### Directory variables diff --git a/grok-skills/README.md b/grok-skills/README.md index d0b7b4a..2eef59e 100644 --- a/grok-skills/README.md +++ b/grok-skills/README.md @@ -84,7 +84,7 @@ These skills follow the Steelbore Standard's licensing (§4, GPL-3.0-or-later) and ISO 8601 UTC date rules (§14), but use Grok's minimal frontmatter schema (`name` + `description`) rather than the Claude/Gemini/Codex schema with `license` / `maintainer` / `website` fields. -See [The Steelbore Standard](../spacecraft-standard-constitution/) for the full +See [The Steelbore Standard](../spacecraft-steelbore-standard/) for the full compliance reference. diff --git a/microsoft-rust-guidelines.skill b/microsoft-rust-guidelines.skill index b298649..8d8cfd7 100644 Binary files a/microsoft-rust-guidelines.skill and b/microsoft-rust-guidelines.skill differ diff --git a/microsoft-rust-guidelines.zip b/microsoft-rust-guidelines.zip index 479ed71..bdd8b32 100644 Binary files a/microsoft-rust-guidelines.zip and b/microsoft-rust-guidelines.zip differ diff --git a/microsoft-rust-guidelines/CREDITS.md b/microsoft-rust-guidelines/CREDITS.md index eb2537c..defa224 100644 --- a/microsoft-rust-guidelines/CREDITS.md +++ b/microsoft-rust-guidelines/CREDITS.md @@ -2,7 +2,7 @@ The `microsoft-rust-guidelines` skill is a Spacecraft Software adaptation of publicly released work by Microsoft. This file records the upstream source it builds on, in -accordance with [The Steelbore Standard §15.3](../spacecraft-standard-constitution/SKILL.md). +accordance with [The Steelbore Standard §15.3](../spacecraft-steelbore-standard/SKILL.md). ## Microsoft Pragmatic Rust Guidelines diff --git a/microsoft-rust-guidelines/SKILL.md b/microsoft-rust-guidelines/SKILL.md index 0d92928..f84de40 100644 --- a/microsoft-rust-guidelines/SKILL.md +++ b/microsoft-rust-guidelines/SKILL.md @@ -166,7 +166,7 @@ Use when: ## Steelbore Standard Requirements (Rust) When writing Rust code for any Spacecraft Software project, these additional rules -from [The Steelbore Standard](../spacecraft-standard-constitution/SKILL.md) apply on top of the +from [The Steelbore Standard](../spacecraft-steelbore-standard/SKILL.md) apply on top of the Microsoft Pragmatic Rust Guidelines above. ### §4 — SPDX License Header (mandatory) @@ -193,7 +193,7 @@ are not manifests) are exempt; software source files are not. `build.rs` or a build-time message — so flag state is visible at compile time. Any flag that breaks or destabilizes the build on a given platform/toolchain (e.g. LTO under some NixOS, cross-compilation, or static-linking setups) MUST be disabled; Stability - (Priority 1) outranks Performance. See `spacecraft-standard-constitution` §3.2.1. + (Priority 1) outranks Performance. See `spacecraft-steelbore-standard` §3.2.1. - Benchmarking is **mandatory** before and after any optimization work; regressions must be documented and justified — it is also the evidence for the concurrency-vs-serial trade-off above. diff --git a/spacecraft-accessibility-support.skill b/spacecraft-accessibility-support.skill index 49fbbc5..e83aa2b 100644 Binary files a/spacecraft-accessibility-support.skill and b/spacecraft-accessibility-support.skill differ diff --git a/spacecraft-accessibility-support.zip b/spacecraft-accessibility-support.zip index 84ffd29..bd6c84b 100644 Binary files a/spacecraft-accessibility-support.zip and b/spacecraft-accessibility-support.zip differ diff --git a/spacecraft-accessibility-support/SKILL.md b/spacecraft-accessibility-support/SKILL.md index d62c30e..49420f2 100644 --- a/spacecraft-accessibility-support/SKILL.md +++ b/spacecraft-accessibility-support/SKILL.md @@ -268,7 +268,7 @@ enforceable since 2025-06-28, and EN 301 549 V4.1.1 folds in WCAG 2.2. |------|-------| | CLI structure, `--json`, `NO_COLOR` precedence, TTY detection | `spacecraft-cli-standard` | | Emitting theme files for editors/terminals | `spacecraft-theme-factory` | -| Full Standard compliance | `spacecraft-standard-constitution` | +| Full Standard compliance | `spacecraft-steelbore-standard` | | Documenting the accessible path in a manual | `spacecraft-texinfo-document` | *— Built by Spacecraft Software —* diff --git a/spacecraft-ada-guidelines.skill b/spacecraft-ada-guidelines.skill index a8c9fa8..5d08be4 100644 Binary files a/spacecraft-ada-guidelines.skill and b/spacecraft-ada-guidelines.skill differ diff --git a/spacecraft-ada-guidelines.zip b/spacecraft-ada-guidelines.zip index 0c69a8a..09efa8f 100644 Binary files a/spacecraft-ada-guidelines.zip and b/spacecraft-ada-guidelines.zip differ diff --git a/spacecraft-ada-guidelines/SKILL.md b/spacecraft-ada-guidelines/SKILL.md index 7a8a44f..2ec9f3e 100644 --- a/spacecraft-ada-guidelines/SKILL.md +++ b/spacecraft-ada-guidelines/SKILL.md @@ -149,6 +149,6 @@ Ada catches at compile/proof time what other languages catch at runtime — *if* - **Rule catalogue (cite IDs from here):** `references/AdaCore_Safe_Secure_Rules.md` — all 41 DYN/RCL/CON/RPP/EXU/OOP/SWE rules with Levels and standards mappings. - Extended patterns, full worked examples, and a proof-debugging guide: `references/Spacecraft_Ada_SPARK_Guidelines.md` - Conceptual sources, the source PDF, and the SPARK Reference Manual: `CREDITS.md` and `references/ATTRIBUTION.md` -- Related skills: `spacecraft-rust-guidelines` (the Rust side of the same high-assurance posture), `spacecraft-standard-constitution` (cross-cutting compliance); cross-apply the NASA/JPL *Power of Ten* rules (loop/recursion/scope budgets). +- Related skills: `spacecraft-rust-guidelines` (the Rust side of the same high-assurance posture), `spacecraft-steelbore-standard` (cross-cutting compliance); cross-apply the NASA/JPL *Power of Ten* rules (loop/recursion/scope budgets). When the user provides Ada/SPARK code for review or asks to write a high-assurance unit, immediately apply the rules above: strengthen the types, add and discharge contracts, declare the assurance target, and produce code that passes `gnatprove` at that level. Cite the exact rule or unproved check in any feedback. Prioritize machine-checked correctness and AoRTE above all else. diff --git a/spacecraft-ada-guidelines/references/ATTRIBUTION.md b/spacecraft-ada-guidelines/references/ATTRIBUTION.md index bcfe786..784acde 100644 --- a/spacecraft-ada-guidelines/references/ATTRIBUTION.md +++ b/spacecraft-ada-guidelines/references/ATTRIBUTION.md @@ -21,6 +21,6 @@ methodology is credited here as the conceptual basis for the assurance ladder. Cross-references within the Spacecraft skill set: - The NASA/JPL *Power of Ten* rules — bounded-loop / no-recursion / restricted-scope budgets reused here. - `spacecraft-rust-guidelines` — the Rust side of the same high-assurance posture. -- `spacecraft-standard-constitution` — cross-cutting compliance (licensing, SPDX, ISO 8601, naming). +- `spacecraft-steelbore-standard` — cross-cutting compliance (licensing, SPDX, ISO 8601, naming). — Spacecraft Software, 2026 diff --git a/spacecraft-agentic-cli.skill b/spacecraft-agentic-cli.skill index c39c93d..3601ec9 100644 Binary files a/spacecraft-agentic-cli.skill and b/spacecraft-agentic-cli.skill differ diff --git a/spacecraft-agentic-cli.zip b/spacecraft-agentic-cli.zip index 7254c78..a3c7ee4 100644 Binary files a/spacecraft-agentic-cli.zip and b/spacecraft-agentic-cli.zip differ diff --git a/spacecraft-agentic-cli/SKILL.md b/spacecraft-agentic-cli/SKILL.md index 855bf3f..5e4bfbe 100644 --- a/spacecraft-agentic-cli/SKILL.md +++ b/spacecraft-agentic-cli/SKILL.md @@ -384,7 +384,7 @@ Assets: This skill is the **agent-UX layer** in the Spacecraft Software CLI skill stack: -- **`spacecraft-standard-constitution`** — master Standard. Master wins on conflict. +- **`spacecraft-steelbore-standard`** — master Standard. Master wins on conflict. - **`spacecraft-cli-standard`** — structural CLI Standard rules (what the CLI must be). Authoritative on structure. This skill is subordinate; never weakens its rules. Both load together when a Spacecraft Software CLI is in scope. diff --git a/spacecraft-agentic-cli/assets/claude-md.template.md b/spacecraft-agentic-cli/assets/claude-md.template.md index 1317468..2e85706 100644 --- a/spacecraft-agentic-cli/assets/claude-md.template.md +++ b/spacecraft-agentic-cli/assets/claude-md.template.md @@ -37,7 +37,7 @@ The following Spacecraft Software skills apply to this project. Consult them via the Skill tool when their triggers match: -- `spacecraft-standard-constitution` — master Steelbore Standard +- `spacecraft-steelbore-standard` — master Steelbore Standard - `spacecraft-cli-standard` — structural CLI Standard rules - `spacecraft-agentic-cli` — agent-facing UX for the CLI - `spacecraft-brand-guidelines` — brand look-and-feel diff --git a/spacecraft-agentic-cli/references/agents-md-authoring.md b/spacecraft-agentic-cli/references/agents-md-authoring.md index 356597e..d36c7e6 100644 --- a/spacecraft-agentic-cli/references/agents-md-authoring.md +++ b/spacecraft-agentic-cli/references/agents-md-authoring.md @@ -148,7 +148,7 @@ non-Claude harness cannot act on belongs here: > only Claude-Code-only context. ## Skills referenced -- `spacecraft-standard-constitution` — master Standard +- `spacecraft-steelbore-standard` — master Standard - `spacecraft-cli-standard` — structural CLI Standard - `spacecraft-agentic-cli` — agent-facing UX - `spacecraft-brand-guidelines` — color palette diff --git a/spacecraft-cli-preference.skill b/spacecraft-cli-preference.skill index 1773546..c005973 100644 Binary files a/spacecraft-cli-preference.skill and b/spacecraft-cli-preference.skill differ diff --git a/spacecraft-cli-preference.zip b/spacecraft-cli-preference.zip index 7e88e73..2ba5413 100644 Binary files a/spacecraft-cli-preference.zip and b/spacecraft-cli-preference.zip differ diff --git a/spacecraft-cli-preference/CREDITS.md b/spacecraft-cli-preference/CREDITS.md index e637455..1a55114 100644 --- a/spacecraft-cli-preference/CREDITS.md +++ b/spacecraft-cli-preference/CREDITS.md @@ -4,7 +4,7 @@ The `spacecraft-cli-preference` skill recommends and documents modern CLI tools authored by many upstream projects. While the reference prose is original writing, flags and behaviours were cross-checked against the sources below. Filed in accordance with -[The Steelbore Standard §15.3](../spacecraft-standard-constitution/SKILL.md). +[The Steelbore Standard §15.3](../spacecraft-steelbore-standard/SKILL.md). ## Upstream sources diff --git a/spacecraft-cli-preference/SKILL.md b/spacecraft-cli-preference/SKILL.md index 124e2ee..da68b4b 100644 --- a/spacecraft-cli-preference/SKILL.md +++ b/spacecraft-cli-preference/SKILL.md @@ -487,7 +487,7 @@ documentation. See `references/ATTRIBUTION.md` for per-tool sourcing. ## §8 — Spacecraft Software Compliance Note This skill itself is a Spacecraft Software artifact and conforms to the relevant parts -of The Steelbore Standard (see `spacecraft-standard-constitution` skill): +of The Steelbore Standard (see `spacecraft-steelbore-standard` skill): - **§4** GPL-3.0-or-later license declared in frontmatter - **§12** ISO 8601 dates used throughout diff --git a/spacecraft-cli-shell.skill b/spacecraft-cli-shell.skill index 0dcc077..921e87b 100644 Binary files a/spacecraft-cli-shell.skill and b/spacecraft-cli-shell.skill differ diff --git a/spacecraft-cli-shell.zip b/spacecraft-cli-shell.zip index 191a30f..80bbf23 100644 Binary files a/spacecraft-cli-shell.zip and b/spacecraft-cli-shell.zip differ diff --git a/spacecraft-cli-shell/SKILL.md b/spacecraft-cli-shell/SKILL.md index d00bc6f..5dad43c 100644 --- a/spacecraft-cli-shell/SKILL.md +++ b/spacecraft-cli-shell/SKILL.md @@ -224,7 +224,7 @@ Full table: `references/bashisms.md`. ## Steelbore Standard Requirements (Shell Scripts) When writing Spacecraft Software shell script files, these rules from -[The Steelbore Standard](../spacecraft-standard-constitution/SKILL.md) apply. +[The Steelbore Standard](../spacecraft-steelbore-standard/SKILL.md) apply. ### §4 — SPDX License Header (mandatory) diff --git a/spacecraft-cli-standard.skill b/spacecraft-cli-standard.skill index 0e86882..aeadd5a 100644 Binary files a/spacecraft-cli-standard.skill and b/spacecraft-cli-standard.skill differ diff --git a/spacecraft-cli-standard.zip b/spacecraft-cli-standard.zip index f9667f4..0b2906a 100644 Binary files a/spacecraft-cli-standard.zip and b/spacecraft-cli-standard.zip differ diff --git a/spacecraft-cli-standard/SKILL.md b/spacecraft-cli-standard/SKILL.md index 37f0b10..ff01f17 100644 --- a/spacecraft-cli-standard/SKILL.md +++ b/spacecraft-cli-standard/SKILL.md @@ -257,7 +257,7 @@ workstation, not a throwaway sandbox. Four rules; detail in ## §11 — Relation to Other Spacecraft Software Skills -- **`spacecraft-standard-constitution`** — the master Standard. This skill is subordinate; master wins on conflict. +- **`spacecraft-steelbore-standard`** — the master Standard. This skill is subordinate; master wins on conflict. - **`spacecraft-agentic-cli`** — the agent-facing UX layer built directly atop this Standard (error hints, MCP lazy-loading, token economy). Paired: this skill defines structure, that one adds agent-UX depth. Now local-host aware. - **`spacecraft-missing-pkg`** — provisioning. When building or testing the CLI needs a toolchain, linter, or interpreter that isn't installed, this owns getting it — ephemeral-first, consent before any durable install. - **`spacecraft-cli-preference`** — governs which *external* CLI tools to invoke (e.g., `rg` over `grep`). Complementary: that skill picks tools, this one defines how the CLI you're *building* should behave. Now local-host aware (substitutes only when the tool is present). diff --git a/spacecraft-document-format.skill b/spacecraft-document-format.skill index f64089a..f760b47 100644 Binary files a/spacecraft-document-format.skill and b/spacecraft-document-format.skill differ diff --git a/spacecraft-document-format.zip b/spacecraft-document-format.zip index 7b4ef70..129113a 100644 Binary files a/spacecraft-document-format.zip and b/spacecraft-document-format.zip differ diff --git a/spacecraft-document-format/SKILL.md b/spacecraft-document-format/SKILL.md index 3350d7c..ec602a9 100644 --- a/spacecraft-document-format/SKILL.md +++ b/spacecraft-document-format/SKILL.md @@ -192,7 +192,7 @@ execution-layer spokes. Keep the policy here; keep the mechanics in the spokes. companions (§2) and any house-style GFM authoring/audit. This router delegates companion generation to it; it also responds to its own `/spacecraft-markdown-document` slash command. - The Steelbore Standard §8 (Documentation / Texinfo), §11 (Colour Palette), §12 (Typography), §4 (Licensing: §4.1.1 artifact classes, §4.3 SPDX/REUSE), §15 (Attribution surfaces). -- `spacecraft-standard-constitution` — the full Standard, including §8 Texinfo requirements for user-facing programs. +- `spacecraft-steelbore-standard` — the full Standard, including §8 Texinfo requirements for user-facing programs. - `gnu-coding-standards` — deeper GNU Texinfo conventions (for GNU-targeted work; Spacecraft projects follow Standard §8 and this skill). - `spacecraft-theme-factory` — for IDE and terminal themes (separate concern; shares the §11 palette). - `spacecraft-brand-guidelines` — brand colors and typography quick-reference; shares the §11 palette. diff --git a/spacecraft-golang-guidelines.skill b/spacecraft-golang-guidelines.skill index 2a4ced3..33f155e 100644 Binary files a/spacecraft-golang-guidelines.skill and b/spacecraft-golang-guidelines.skill differ diff --git a/spacecraft-golang-guidelines.zip b/spacecraft-golang-guidelines.zip index 35dc08f..61e9d6b 100644 Binary files a/spacecraft-golang-guidelines.zip and b/spacecraft-golang-guidelines.zip differ diff --git a/spacecraft-golang-guidelines/SKILL.md b/spacecraft-golang-guidelines/SKILL.md index da5bbe6..7abe00f 100644 --- a/spacecraft-golang-guidelines/SKILL.md +++ b/spacecraft-golang-guidelines/SKILL.md @@ -65,14 +65,14 @@ Never use raw `go func() { ... }()` without a `sync.WaitGroup` or `errgroup` in ## Build, Tooling & CI (Non-Negotiable) - `go test -race ./...` must pass (enforce in CI). -- Release builds: `go build -ldflags="-s -w"`. Per `spacecraft-standard-constitution` §3.2, note every +- Release builds: `go build -ldflags="-s -w"`. Per `spacecraft-steelbore-standard` §3.2, note every applied optimization/linker flag and every disabled one (with the reason) — in the build script or a build-time message — so flag state is visible at compile time. > **OS-specific note:** Go's toolchain manages its own linker, but when building > cgo-enabled packages that invoke the system C linker on NixOS, LTO and similar > cross-module optimizations may require `-fuse-ld=mold` (preferred) or `-fuse-ld=bfd` > because `/nix/store` isolation keeps the GCC LTO plugin off the default linker path. - > See `spacecraft-standard-constitution` §3.2.1. + > See `spacecraft-steelbore-standard` §3.2.1. - Use `golangci-lint` with `govet`, `staticcheck`, `errcheck`, `ineffassign`. - Benchmark with `testing.B` + `b.ReportAllocs()`; stabilize with `b.ResetTimer()`. - For production: enable `GODEBUG=asyncpreemptoff=1` only if needed; prefer recent Go (1.22+ has better scheduler). diff --git a/spacecraft-markdown-document.skill b/spacecraft-markdown-document.skill index 552cce6..c5b1943 100644 Binary files a/spacecraft-markdown-document.skill and b/spacecraft-markdown-document.skill differ diff --git a/spacecraft-markdown-document.zip b/spacecraft-markdown-document.zip index a057c0b..7c2ed0e 100644 Binary files a/spacecraft-markdown-document.zip and b/spacecraft-markdown-document.zip differ diff --git a/spacecraft-markdown-document/SKILL.md b/spacecraft-markdown-document/SKILL.md index 835ba4b..d35eb80 100644 --- a/spacecraft-markdown-document/SKILL.md +++ b/spacecraft-markdown-document/SKILL.md @@ -423,7 +423,7 @@ sibling spoke `spacecraft-texinfo-document`. | Format choice / ODF / MS Office + GFM pair | `spacecraft-document-format` | | Canonical prose (manuals, guides) in Texinfo | `spacecraft-texinfo-document` | | Brand colours, typography, palette tokens | `spacecraft-brand-guidelines` | -| Full Spacecraft Software compliance | `spacecraft-standard-constitution` | +| Full Spacecraft Software compliance | `spacecraft-steelbore-standard` | | CLI output in Markdown or plain text | `spacecraft-cli-standard` | --- diff --git a/spacecraft-rust-guidelines.skill b/spacecraft-rust-guidelines.skill index 4d5dc72..f86d35d 100644 Binary files a/spacecraft-rust-guidelines.skill and b/spacecraft-rust-guidelines.skill differ diff --git a/spacecraft-rust-guidelines.zip b/spacecraft-rust-guidelines.zip index 56390c8..9c7497b 100644 Binary files a/spacecraft-rust-guidelines.zip and b/spacecraft-rust-guidelines.zip differ diff --git a/spacecraft-rust-guidelines/CREDITS.md b/spacecraft-rust-guidelines/CREDITS.md index 07f68e4..3fab3fb 100644 --- a/spacecraft-rust-guidelines/CREDITS.md +++ b/spacecraft-rust-guidelines/CREDITS.md @@ -3,7 +3,7 @@ The `spacecraft-rust-guidelines` skill is original Spacecraft Software work (a concurrency & performance doctrine for Rust). Its **idiom layer** ([`references/idioms.md`](references/idioms.md)) adapts third-party work, recorded here -in accordance with [The Steelbore Standard §15.3](../spacecraft-standard-constitution/SKILL.md). +in accordance with [The Steelbore Standard §15.3](../spacecraft-steelbore-standard/SKILL.md). ## Apollo GraphQL — Rust Best Practices skill diff --git a/spacecraft-standard-constitution.skill b/spacecraft-standard-constitution.skill deleted file mode 100644 index 2977471..0000000 Binary files a/spacecraft-standard-constitution.skill and /dev/null differ diff --git a/spacecraft-standard-constitution.zip b/spacecraft-standard-constitution.zip deleted file mode 100644 index 5d6a8f0..0000000 Binary files a/spacecraft-standard-constitution.zip and /dev/null differ diff --git a/spacecraft-steelbore-standard.skill b/spacecraft-steelbore-standard.skill new file mode 100644 index 0000000..d5f8199 Binary files /dev/null and b/spacecraft-steelbore-standard.skill differ diff --git a/spacecraft-steelbore-standard.zip b/spacecraft-steelbore-standard.zip new file mode 100644 index 0000000..ad07111 Binary files /dev/null and b/spacecraft-steelbore-standard.zip differ diff --git a/spacecraft-standard-constitution/SKILL.md b/spacecraft-steelbore-standard/SKILL.md similarity index 99% rename from spacecraft-standard-constitution/SKILL.md rename to spacecraft-steelbore-standard/SKILL.md index b7921f6..3dcbacc 100644 --- a/spacecraft-standard-constitution/SKILL.md +++ b/spacecraft-steelbore-standard/SKILL.md @@ -1,5 +1,5 @@ --- -name: spacecraft-standard-constitution +name: spacecraft-steelbore-standard description: > The authoritative compliance reference for ALL work on Spacecraft Software-umbrella projects and subprojects (Zamak, Bravais, Ferrocast, Craton, Ironway, Caliper, Mawaqit, and any future @@ -8,7 +8,7 @@ description: > Spacecraft Software-umbrella project — even if the user doesn't explicitly mention the Standard. If the user mentions "Spacecraft Software", a Spacecraft Software subproject name, or asks you to work on anything in the Spacecraft Software ecosystem, consult this skill immediately. It encodes - The Steelbore Standard v1.48 (§13 design systems; §3.1.1 TypeScript; §5.7 AGENTS.md; §6.4 contribution targets; §5.6 skill packaging; §11 palettes + §11.6 system theme; §18 accessibility; §17 progress reporting; §3.2 compiler flags; concurrency; §3.3 security-by-design) so + The Steelbore Standard v1.49 (§13 design systems; §3.1.1 TypeScript; §5.7 AGENTS.md; §6.4 contribution targets; §5.6 skill packaging; §11 palettes + §11.6 system theme; §18 accessibility; §17 progress reporting; §3.2 compiler flags; concurrency; §3.3 security-by-design) so you never need to ask for it or have it attached to a prompt again. license: GPL-3.0-or-later maintainer: Mohamed Hammad @@ -17,7 +17,7 @@ website: https://Construct.SpacecraftSoftware.org/ # The Steelbore Standard — Compliance Reference -**Version:** 1.48 | **Date:** 2026-08-16 | **Author:** Mohamed Hammad +**Version:** 1.49 | **Date:** 2026-08-16 | **Author:** Mohamed Hammad **Maintainer:** Mohamed Hammad | **Contact:** [Mohamed.Hammad@SpacecraftSoftware.org](mailto:Mohamed.Hammad@SpacecraftSoftware.org) **Copyright:** Copyright (C) 2026 Mohamed Hammad & Spacecraft Software | **License:** GPL-3.0-or-later **Website:** [https://Construct.SpacecraftSoftware.org/](https://Construct.SpacecraftSoftware.org/) @@ -116,7 +116,7 @@ this table and §15.1's subdomain table in the same commit. ### §2.2 — Skill IDs are functional, not codenamed Skill directory names and SKILL.md `name` fields are **functional identifiers** -(e.g., `spacecraft-standard-constitution`, `spacecraft-document-format`) and are not subject to +(e.g., `spacecraft-steelbore-standard`, `spacecraft-document-format`) and are not subject to the §2 codename convention. §2 reserves codenames for projects/modules/utilities/releases, not for skill identifiers. @@ -275,7 +275,7 @@ The GPL/AGPL choice above governs **software**. License by artifact class: Skills are **software-class** → `GPL-3.0-or-later` (no skill is network-facing → no AGPL). Deliberate split for the Standard: the **published Standard document** is `CC-BY-SA-4.0`, -while this `spacecraft-standard-constitution` **skill** encoding is `GPL-3.0-or-later`. +while this `spacecraft-steelbore-standard` **skill** encoding is `GPL-3.0-or-later`. ### §4.2 — Upstream License Compliance (preserve what you build on) @@ -1766,7 +1766,7 @@ for a pure Rust library), note it as N/A rather than silently skipping it. | Resolving or declaring the system theme (§11.6) | `steelbore-color-palette` | | Implementing or auditing accessibility (§18) | `spacecraft-accessibility-support` | | Authoring `AGENTS.md` / `CLAUDE.md` (§5.7) | `spacecraft-agentic-cli` | -| All other Spacecraft Software work | `spacecraft-standard-constitution` | +| All other Spacecraft Software work | `spacecraft-steelbore-standard` | --- diff --git a/spacecraft-standard-constitution/references/CHANGELOG.md b/spacecraft-steelbore-standard/references/CHANGELOG.md similarity index 97% rename from spacecraft-standard-constitution/references/CHANGELOG.md rename to spacecraft-steelbore-standard/references/CHANGELOG.md index 6baa071..2af9f30 100644 --- a/spacecraft-standard-constitution/references/CHANGELOG.md +++ b/spacecraft-steelbore-standard/references/CHANGELOG.md @@ -5,13 +5,14 @@ Copyright (C) 2026 Mohamed Hammad & Spacecraft Software # The Steelbore Standard — Changelog -Version history for the `spacecraft-standard-constitution` skill encoding of The Steelbore +Version history for the `spacecraft-steelbore-standard` skill encoding of The Steelbore Standard. The current version is recorded in the `SKILL.md` masthead; this file holds the full history so it doesn't load into agent context on every skill activation. The canonical record is the published Standard's own `standard/CHANGELOG.md` (extracted from §1 of the document itself in v1.37); this file mirrors it and must be synced to the same version and date. +- **v1.49 (2026-08-16):** **Skill renamed: `spacecraft-standard-constitution` → `spacecraft-steelbore-standard`.** The skill now carries the document's own canonical name — "The Steelbore Standard" has been the document's stable name since the v1.8 reinstatement, and the skill id now says so instead of the generic "constitution". Skill ids are §2.2 functional identifiers, so no codename rule is engaged. The rename touches the directory, the frontmatter `name:`, both bundles (rebuilt under the new filename; the old-name `.zip`/`.skill` are removed), the `README.md` §2 catalogue row and `nix build` example (the flake derives outputs from `readDir`, so no flake change), `AGENTS.md`, `CONTRIBUTING.md`, `REUSE.toml`, the CI cross-reference checker's version-pin exemption list (`check-skill-refs.py` — load-bearing: without it the renamed skill loses its exemption and CI fails), and every sibling skill that cross-references this one (fifteen skills plus the grok- and android-catalogue READMEs). Historical changelog entries keep the name that was current when they were written. The Standard-side rename (four in-document references, changelog header pointer, `AGENTS.md`) lands as its own PR at this same version and date — as v1.44 recorded, a cross-reference is normative content and renaming a skill is a two-repo edit. Same-day bump with different content, so it increments past v1.48 rather than sharing it. No rule changes. This skill's own frontmatter `description` measures 988 characters under the §5.6 cap, unchanged — only the version number moved. - **v1.48 (2026-08-16):** **§17.2 simplified — the MVP row joins the single cell style.** v1.47 set the `MVP` row apart in `▰` (U+25B0) / `▱` (U+25B1) with one space inside each bracket, on the argument that the headline figure should be findable at a glance in a stack of otherwise identical bars. In practice the distinction bought less than it cost: the padded row needed its own label-field width (five characters where every other row uses six), its own bracket geometry, its own percentage-separator rule (one space where the others use two), and a documented edge case in which the two row types stop aligning at exactly 100% — four special cases carried by every emitter and checker of the format, to distinguish a row that its fixed position (always immediately after the last milestone) and its label already distinguish. **§17.2 now defines one cell style for every row** — milestones, `MVP`, `TODO`, `PLAN`, and `PRD` alike: `█` (U+2588) filled, `░` (U+2591) empty, tight brackets with no space inside either. The `▰`/`▱` pair, the whole of §17.2 from v1.32 until v1.47 narrowed it to the MVP row alone, is now retired entirely. The alignment rules collapse from five bullets to three, all universal: label and colon left-aligned in a six-character field followed by `[`; first bar cell in column 8, bars occupying columns 8–27, `]` in column 28; percentage right-aligned in a five-character field so `%` lands in column 33 whether the value is one, two, or three digits. The v1.47 misalignment-at-100% carve-out disappears rather than being restated — with tight brackets and a two-space separator, a 100% value consumes one separator space and the block stays aligned at every value. Unchanged: §17.1's row set, fixed order, and only-applicable-rows rule; the cell-count rounding and its two saturation rules; the prohibition on ASCII bars. §16's §17 bullet drops the two-style clause. `spacecraft-accessibility-support`'s `references/audit.md` reporting example is updated to the single style in the same pass. This skill's own frontmatter `description` measures 988 characters under the §5.6 cap, unchanged — only the version number moved. - **v1.47 (2026-08-09):** **§17.1 and §17.2 rewritten — progress reports become a labelled-row block.** The format §17.1 has carried since the section was written packed every figure into three dense lines: a single unlabelled bar, then all milestones pipe-separated on one line, then MVP and PRD sharing a third. Only one of those numbers — the PRD total — ever got a bar, so the milestones and the MVP were reported as bare percentages while the least granular figure got the only visual. Reading it meant parsing a run-on line to find the milestone you cared about, and comparing two milestones meant comparing two integers rather than two bars. The replacement gives **every track its own row, its own 20-cell bar, and its own percentage**, in a fixed order: milestone rows `M0`…`Mn` ascending, then `MVP`, then `TODO`, then `PLAN`, then `PRD`. **`TODO` and `PLAN` are new tracks** — the old format had no way to report against a plan document or a task list at all, so work driven by either was reported against a PRD that did not exist. **Only applicable rows are emitted**, and this is a rule rather than a convenience: the milestone rows match the milestones the plan actually defines (`M0`–`M4` in the template is an illustration, not a required set), `TODO`/`PLAN`/`PRD` appear only when the task is driven by such an artifact, and `MVP` is always present. Padding the block out with fabricated 0% rows is forbidden — a track that does not exist reports progress against nothing, and a reader cannot tell a genuine zero from a placeholder. **§17.2 now defines two cell styles, and the distinction is normative.** Milestone, `TODO`, `PLAN` and `PRD` rows use `█` (U+2588) filled and `░` (U+2591) empty with tight brackets; the `MVP` row uses `▰` (U+25B0) and `▱` (U+25B1) with one space inside each bracket. MVP is the headline figure and the rows around it are the inputs that feed it, so it is set in a different glyph pair to stay findable at a glance in a stack of otherwise identical bars — the `▰`/`▱` pair that was the whole of §17.2 before this version is retained for exactly that one row rather than retired. **Column alignment is normative, and the bracket padding is what preserves it**: the MVP row is one character narrower in its label field and one character wider inside each bracket, so every bar cell and every percentage digit lands in the same column across the whole block. Stated as rules — label-plus-colon left-aligned in a six-character field on every row but MVP, five on MVP followed by `[` and a space; every bar in columns 8 through 27 on both; percentage right-aligned so its `%` lands in the same column on every row, which means two spaces after the closing bracket on the tight rows and one on `MVP`, with the separator never dropping below one space (so at 100% the `MVP` percentage sits one column right — the only value at which the two row types do not align, and preferable to a bracket abutting a digit). **Cell count is specified for the first time.** The old text said "20-character" and left the mapping from percentage to cells entirely unstated, so 43% could legitimately render as 8 cells or 9. It is now the percentage scaled to twenty cells and rounded to the nearest cell, with two saturation rules overriding the rounding: twenty filled cells **only** at exactly 100%, zero filled **only** at exactly 0%. Rounding 99% up to a visually complete bar reports work as finished that is not — precisely the drift §17 exists to catch. Unchanged: **§17.3's cadence** (baseline at task start, at each milestone completion, and in the end-of-turn summary), and the prohibition on legacy ASCII bars, now stated for `#`, `-` and `=` and binding on every row rather than on "the progress bar" singular. §16's §17 checklist bullet is rewritten from the old three-figure summary to the row-block form. `spacecraft-accessibility-support`'s `references/audit.md` reporting example is updated to the new block in the same pass. This skill's own frontmatter `description` measures 988 characters under the §5.6 cap, unchanged — only the version number moved. - **v1.46 (2026-08-08):** **§5.7 added — Agent Context Files.** §5.2 has enumerated the required root files since the standard's early versions and never named the one file every coding agent actually reads. That silence was not neutral: in its absence each project invented its own arrangement, and a survey of the umbrella found five incompatible conventions running simultaneously across ~39 repositories — byte-identical twins, a symlink, a declared superset, a thin pointer in one direction, and genuinely divergent files each holding facts the other lacked. The failure mode is specific and silent. `AGENTS.md` is the cross-vendor convention (Codex CLI, Cursor, Aider, OpenCode, Goose); Claude Code reads `CLAUDE.md`. When both exist as parallel prose they are edited in different sessions and drift, and **the agent reading the stale copy is never told it is stale** — it proceeds confidently on a build command that changed six weeks ago. Several files had already noticed and responded with the wrong remedy, carrying explicit "whenever you update CLAUDE.md, update AGENTS.md in the same pass" instructions: a maintenance tax paid manually, forever, that the drift proves was not being paid. §5.7 makes **`AGENTS.md` the single authority** — required at every project root alongside the §5.2 files, harness-neutral, carrying build/test/lint commands, architectural invariants, forbidden patterns, layout, and every fact an agent cannot infer from the code. `CLAUDE.md`, where a project ships one, becomes an **`@AGENTS.md` import plus only what is meaningless to a non-Claude harness** — Skill-tool invocations, `.claude/` paths, slash commands, Claude-client MCP configuration — and MUST NOT restate, summarize, or mirror it. Five rules attach. **Write to `AGENTS.md`**: new project knowledge goes there by default, and "update the context file" always means `AGENTS.md`; this is the rule that keeps the overlay from re-growing into a second copy one session at a time. **No duplication**, with the corollary that a "keep these in sync" instruction is evidence the split is wrong and MUST be removed rather than honored. **Both tracked** — a `.gitignore` entry for either breaks the `@AGENTS.md` import on a fresh clone and hides project knowledge from every contributor who did not author it; 15 of the surveyed repositories were ignoring one or both. **No secrets**, which is the clause that makes the tracking rule safe rather than merely tidy: context files become published artifacts, so credentials, tokens, keys, private hostnames or network topology, and personal filesystem paths are out, and a file that was previously ignored MUST be reviewed for sensitive content *before* it is un-ignored — a file that was safe as a local scratchpad has not thereby been cleared for publication, and un-ignoring is effectively irreversible once pushed. **Generated blocks target `AGENTS.md` only**: tooling that renders managed regions into context files — rule synchronizers, task systems — reintroduces exactly the duplication the import removes if it writes both, so the obligation is placed on the tooling rather than left for a human to notice. Other harness files (`GEMINI.md`, `.cursorrules`) follow the `CLAUDE.md` pattern rather than earning clauses of their own. This section **inverts the guidance previously carried only in the `spacecraft-agentic-cli` skill**, which instructed authors to make `CLAUDE.md` a strict superset of `AGENTS.md` and to start by symlinking or copying it — a rule that produced the duplication by construction and that every new scaffold reproduced; that skill's `references/agents-md-authoring.md` §1 and §3 and both `assets/` templates are rewritten to match in the same pass. The Skill Cross-References table gains a `spacecraft-agentic-cli` row for context-file authoring, which had never appeared there despite the skill being the implementation layer for it. §16 gains a §5.7 checklist bullet. Nothing in §5.2 changes: `AGENTS.md` is added to the required set, and no existing required file is relaxed or removed. This skill's own frontmatter `description` measures 988 characters under the §5.6 cap (the §3.1.1 highlight shortened to "§3.1.1 TypeScript" to make room for §5.7). diff --git a/spacecraft-texinfo-document.skill b/spacecraft-texinfo-document.skill index f7009e8..9e4197e 100644 Binary files a/spacecraft-texinfo-document.skill and b/spacecraft-texinfo-document.skill differ diff --git a/spacecraft-texinfo-document.zip b/spacecraft-texinfo-document.zip index e15b3ff..3ac6ced 100644 Binary files a/spacecraft-texinfo-document.zip and b/spacecraft-texinfo-document.zip differ diff --git a/spacecraft-texinfo-document/SKILL.md b/spacecraft-texinfo-document/SKILL.md index ae86025..4760505 100644 --- a/spacecraft-texinfo-document/SKILL.md +++ b/spacecraft-texinfo-document/SKILL.md @@ -180,7 +180,7 @@ preference). - `spacecraft-document-format` — the format hierarchy that declares Texinfo canonical for prose; load it when the deliverable also needs ODF/MS-Office renderings or a generated Markdown companion. -- `spacecraft-standard-constitution` — The Steelbore Standard: §4 licensing/REUSE, §11 palette, +- `spacecraft-steelbore-standard` — The Steelbore Standard: §4 licensing/REUSE, §11 palette, §12 typography, §14 dates/UTC, §15 attribution. The Standard always wins on conflict. - `gnu-coding-standards` — when the manual targets an actual GNU package; that diff --git a/spacecraft-zig-guidelines.skill b/spacecraft-zig-guidelines.skill index 410375c..1b08079 100644 Binary files a/spacecraft-zig-guidelines.skill and b/spacecraft-zig-guidelines.skill differ diff --git a/spacecraft-zig-guidelines.zip b/spacecraft-zig-guidelines.zip index 9782a7f..98f7552 100644 Binary files a/spacecraft-zig-guidelines.zip and b/spacecraft-zig-guidelines.zip differ diff --git a/spacecraft-zig-guidelines/SKILL.md b/spacecraft-zig-guidelines/SKILL.md index 19e5d30..16536c3 100644 --- a/spacecraft-zig-guidelines/SKILL.md +++ b/spacecraft-zig-guidelines/SKILL.md @@ -82,11 +82,11 @@ Never fall back to raw `std.Thread.spawn` in hot paths — always go through a p - Safe development: `zig build -Doptimize=ReleaseSafe` (or Debug). - Production verification: same + `std.testing.allocator` runs that must pass with zero leaks. - Final performance: `zig build -Doptimize=ReleaseFast` (Zig enables LTO-like behavior via its pipeline). - Per `spacecraft-standard-constitution` §3.2, note every applied optimization flag and every disabled one + Per `spacecraft-steelbore-standard` §3.2, note every applied optimization flag and every disabled one (with the reason) — in `build.zig` or a build-time message — so flag state is visible at compile time. > **OS-specific note:** When wrapping C libraries or using an external linker on NixOS, > LTO may require `-fuse-ld=mold` (preferred) or `-fuse-ld=bfd` because `/nix/store` - > isolation keeps the GCC LTO plugin off the default linker path. See `spacecraft-standard-constitution` + > isolation keeps the GCC LTO plugin off the default linker path. See `spacecraft-steelbore-standard` > §3.2.1. - CI requirements: build + test in both ReleaseSafe and Debug; allocator leak checks enabled. - Benchmark harness: `std.time.Timer` with warm-up iterations + statistical reporting (min/median/p99). diff --git a/steelbore-color-palette.skill b/steelbore-color-palette.skill index 37505f7..f65c3d1 100644 Binary files a/steelbore-color-palette.skill and b/steelbore-color-palette.skill differ diff --git a/steelbore-color-palette.zip b/steelbore-color-palette.zip index 4ab23f4..34d5b05 100644 Binary files a/steelbore-color-palette.zip and b/steelbore-color-palette.zip differ diff --git a/steelbore-color-palette/SKILL.md b/steelbore-color-palette/SKILL.md index c9d6333..c37d401 100644 --- a/steelbore-color-palette/SKILL.md +++ b/steelbore-color-palette/SKILL.md @@ -287,6 +287,6 @@ Colors ship with type: **Share Tech Mono** (headings) and **Inconsolata** | Documents (DOCX/ODT/PDF heading map, page setup) | `spacecraft-document-format` + `spacecraft-brand-guidelines` | | IDE / terminal / editor themes | `spacecraft-theme-factory` | | Accessible mode, toggles, screen readers | `spacecraft-accessibility-support` | -| Full Standard compliance audit | `spacecraft-standard-constitution` | +| Full Standard compliance audit | `spacecraft-steelbore-standard` | *— Built by Spacecraft Software —*