Skip to content

Latest commit

 

History

History
47 lines (44 loc) · 19.4 KB

File metadata and controls

47 lines (44 loc) · 19.4 KB

The Steelbore Standard — Changelog

Version history for the spacecraft-standard-constitution 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 published Standard document (standard/The_Steelbore_Standard.md) keeps its own inline changelog as the canonical record.

  • v1.33 (2026-07-24): §18 added: Accessibility (Opt-In Mode Layer) — accessibility codified as a first-class, auditable chapter covering CLI, TUI, and GUI, superseding §13's design-system framing where the two overlap. Two-sided rule: mandatory for developers to implement, off by default for users, with no new-projects-only phase-in. §18.1 defines a single activation toggle with four sources and explicit precedence (--accessible > SPACECRAFT_A11Y > config > auto-detect hints such as TERM=dumb/NO_COLOR/GTK_MODULES=…gail:atk); unset everywhere means standard Steelbore rendering, unchanged. §18.2 splits CLI/TUI rules into always-on requirements (status never color-only — [OK]/[ERROR]/[WARN]/[INFO]; stdout/stderr separation; NO_COLOR family honored) and accessible-mode requirements (no animation, no decorative art, linear output, tabular fallback, legible prompts), plus §18.2.3 TUI linear mode and a required non-interactive CLI path. §18.3 mandates AccessKit for Rust/custom-drawn GUI (UIA / NSAccessibility / AT-SPI) with GtkAccessible, Flutter Semantics, and QAccessible for toolkit-native paths, and requires explicit accessible names and roles. §18.4 requires verification by real screen reader (Orca/NVDA/VoiceOver) and espeak-ng, and a dated remediation entry in PROJECTS.md for any project not yet conforming. §11.1.1 added: accessibility theme variants as additive siblingssteelbore remains the sole default; steelbore-high-contrast lifts only accent (#4B7EB0#7FAEDC, 8.73:1) and error (#FF5C5C#FF8080, 8.41:1) so all six tokens reach ≥7:1 on Void Navy, with the other four §11 values verbatim; steelbore-mono uses 4-bit ANSI to defer to the user's terminal palette. Void Navy remains the background in every variant. §11 clarified: the AA guarantee covers foreground-on-Void-Navy only — 9 of 10 inter-token pairs fall below 3:1 (Molten Amber on Red Oxide 1.13:1; Radium Green on Liquid Coolant 1.01:1), so text on a palette-colored fill now requires its own pair verification, and color may never be the sole carrier of meaning. §10 extended: bindings must be user-remappable, and NVDA/Orca/VoiceOver modifier chords must not be captured. §13 retargeted: WCAG 2.1 AA → WCAG 2.2 Level AA, with EN 301 549 clause 11 (non-web software) adopted as the normative anchor for CLI/TUI. §18.5 added: Games Carve-Out — projects registered as games are exempt from §18 in full and from §10 in full; accessibility in a game is optional, nothing is enforced, and its absence is never a compliance failure. §18 assumes a character grid or a widget tree with roles and names, which games (real-time simulations rendering custom non-widget interfaces) satisfy neither of; the techniques that suit them — remappable controls, colorblind-safe signalling, subtitles, difficulty options — are a different discipline. §18.5.1 identifies games by declaration plus registry, mirroring the §5.3 general-use carve-out: a README.md declaration alongside the §5.2 posture section, plus a registry table (today naming Ironway), kept in sync with PROJECTS.md and §2.1. §18.5.2 offers a recommended list a game may decline outright (remappable controls; leave Insert/CapsLock/KP_Insert/Ctrl+Option free for NVDA/Orca/VoiceOver; colorblind-safe signalling; subtitles; reduced motion). §18.5.3 asks only that a toggle a game chooses to ship use the §18.1 and §11.1.1 names — constraining naming, never requiring a feature. §10 scope narrowed accordingly: registered games are exempt in full, including the pre-existing CUA and Vim rows, since modal editing and text-editor chords are a poor fit for real-time play. §18.4: registered games owe no remediation entry, because they owe no conformance. Compliance-checklist gains a §18 bullet; §10 and §13 bullets extended; §10 and §18 bullets marked N/A for registered games. Skill Cross-References gains a spacecraft-accessibility-support row.
  • v1.32 (2026-07-15): §17 added: Development Progress Tracking & Reporting — codified requirements for tracking and reporting progress on PRDs/plans, including milestone completion percentages, MVP and total PRD completion percentages, and a 20-character Unicode progress bar (/). Compliance-checklist §16 updated with a §17 bullet.
  • v1.31 (2026-06-24): §3.2 compiler optimization flag documentation rule extended — previously only disabled flags required documentation; now both applied and disabled flags must be explicitly noted (comment in build file or build-time message). Symmetrical notation makes the full flag state visible at compile time and makes build errors traceable to specific flags. Compliance-checklist §3.2 bullet updated.
  • v1.30 (2026-06-24): §3.2 reframed — modern hardware universally provides multi-core/multi-thread capability; harnessing that concurrency is the primary performance lever. Concurrency is now an architecture-level concern, considered from the ground up throughout design (not bolted on at implementation). Adoption/abandonment conditions explicit: embrace concurrency where it advances performance; abandon it where it degrades performance (overhead, contention, serial workloads) or compromises Priority 1 (Stability). Compliance-checklist §3.2 bullet revised.
  • v1.29 (2026-06-23): Source of truth switched to TexinfoThe_Steelbore_Standard.texi is now the canonical source; .md and .html are generated outputs (make md / make html); .docx/.odt produced on request only. Makefile and spacecraft.css added. Skill Cross-References updated: "Authoring a Texinfo manual" row now points to spacecraft-texinfo-document skill; "DOCX/ODT/PDF" row clarified as on-demand. source-format metadata updated from odt to texi.
  • v1.28 (2026-06-23): §2.1: corrected Aetheric (was Active) and Ferrocast (was Planning) to Deprecated — both superseded by other projects, matching their status in PROJECTS.md.
  • v1.27 (2026-06-22): §15.1: registered the Loran Pages subdomain (Loran-Pages.SpacecraftSoftware.org). The loran-pages repo — community catalog of curated Loran help pages (tldr-pages-style, loran validate CI gate, minisign-signed publish.yml) — created private with §5.2 posture files and §4.3 REUSE compliance.
  • v1.26 (2026-06-21): §15.1: registered the Vacuum subdomain (Vacuum.SpacecraftSoftware.org). The Vacuum repo — Rust multi-crate disk-space recovery TUI/CLI — created private with §5.2 posture files, §8 Texinfo manual, §5.5 packaging trio, and §4.3 REUSE compliance.
  • v1.25 (2026-06-20): §3.3 renamed — Priority 3 "Hardened Security" → "Security by Design", aligning the priority name with the Security By Design principle (security built in from the start rather than bolted on).
  • v1.24 (2026-06-19): §8 Documentation (Texinfo) added — Texinfo codified as the first-class technical-manual format for user-facing Spacecraft Software projects, following GNU conventions (@dircategory/@direntry for Info-directory registration; @copying/@titlepage/@node Top/@menu required structural elements; make info/make html/make pdf Makefile targets via makeinfo/texi2any/texi2pdf; .info/.html/.pdf outputs; CC-BY-SA-4.0 default with GFDL-1.3-or-later as a permitted alternative; install-info packaging integration for Guix/Nix/PKGBUILD). Prior §8–§15 renumbered §9–§16 accordingly; §16 compliance checklist gains a §8 bullet; Skill Cross-References gains a Texinfo-manual row.
  • v1.23 (2026-06-19): §14.1: registered the Docs subdomain (Docs.SpacecraftSoftware.org), paired in the same change-set with its row and GitHub-repo link in Spacecraft-Software/Projects PROJECTS.md. The Docs repo — a centralized aggregation of the umbrella's planning corpus (PRDs, plans, TODOs, research) organized by project then document type — was created private with §5.2 posture files and §4.3 REUSE compliance (CC-BY-SA-4.0 documents, reuse lint-clean). (Subdomain table is §15.1 after the v1.24 renumber.)
  • v1.22 (2026-06-18): §7 Shell Environment added — codifies Nushell, Ion, Brush, and Bash as four equally first-class shell environments; §7.1 Script Portability Policy mandates POSIX-compatible scripts by default, Nushell/Ion native variants where shell-native idioms are required, and prohibits Bashisms in shared scripts. Prior §7–§14 renumbered §8–§15 accordingly. §15 compliance checklist gains a §7 bullet; Skill Cross-References gains a shell-work row (spacecraft-cli-shell + spacecraft-cli-preference). §14.2: added email-obfuscation note — the Mohamed.Hammad [at] SpacecraftSoftware.org form is permitted in plain-text prose, but PKGBUILD # Maintainer: lines and SPDX-FileCopyrightText headers must retain the full address (parsed by makepkg/pkgcheck and reuse lint).
  • v1.21 (2026-06-17): §13.1: registered subdomains for three projects present in PROJECTS.md but missing from the table — Lode (Lode.SpacecraftSoftware.org), Sonde (Sonde.SpacecraftSoftware.org), and Vault (Vault.SpacecraftSoftware.org).
  • v1.20 (2026-06-17): §5.5 added: Package Distribution Requirements — every released package must ship packaging/guix.scm (GNU Guix Scheme definition), packaging/default.nix (Nix flake/derivation), and packaging/PKGBUILD (Arch Linux makepkg), all present and buildable before any release tag is pushed; each file must pin the exact release version and SHA-256 checksum in the format native to its package manager, and carry the project's SPDX two-tag header per §4.3. §14 updated with a corresponding §5.5 compliance-checklist bullet.
  • v1.19 (2026-06-16): §13.1: registered the MCP Servers project subdomain (MCP-Servers.SpacecraftSoftware.org), paired with its repo-linked row in Spacecraft-Software/Projects PROJECTS.md. The mcp-servers repo (MCP server configuration templates across 12 coding agents/editors) was onboarded to the umbrella with the §5.2 posture files and §4.3 REUSE compliance (LICENSES/, REUSE.toml, reuse lint-clean).
  • v1.18 (2026-06-08): Licensing classification follow-through. (1) §4.1.1 added: license-by-artifact-class table — software (incl. skills) is GPL-3.0-or-later/AGPL-3.0-or-later; documents default to CC-BY-SA-4.0 (CC-BY-4.0 for max-reuse); third-party-derived artifacts preserve upstream per §4.2. (2) Skill-license correction: skills are software-class — the published Standard is CC-BY-SA-4.0 but this spacecraft-standard-constitution skill is GPL-3.0-or-later (v1.17 skill metadata corrected back to GPL). (3) §4.1 migration policy: existing projects reviewed and relicensed to best-suited GPL/AGPL on signed commits (replaces v1.17's "no forced re-license"). Standard and Construct repos made REUSE-compliant (LICENSES/ + REUSE.toml, reuse lint-clean). (4) §2: added Equilibrium and Dune to the endorsed sci-fi naming sources.
  • v1.17 (2026-06-08): Licensing & build overhaul. (1) Standard relicensed from GPL-3.0-or-later to CC-BY-SA-4.0 (incl. this skill's own metadata) — GPL suits software, not a prose specification; CC BY-SA preserves the share-alike copyleft ethos and is purpose-built for documents. Affects the Standard/skill artifact itself only; governed projects are unchanged. (2) §4.1: project license is now GPL-3.0-or-later or AGPL-3.0-or-later (AGPL for network-facing), prospective with no forced re-license. (3) §4.2 added: upstream-license-compliance clause — preserve third-party copyright notices, license texts, and NOTICE/AUTHORS verbatim; ship upstream licenses in LICENSES/. (4) §4.3: SPDX/REUSE compliance per https://reuse.software — two-tag headers, LICENSES/ directory, .license/REUSE.toml coverage for headerless files (replacing "documents are exempt"), reuse lint CI gate. (5) §3.2: optimization-flag exception — flags like LTO that break/destabilize a build on a given toolchain/platform (NixOS, cross-compilation) MUST be disabled and documented, since Stability (P1) outranks Performance (P2). §5.1/§5.2/§6/§13.2 license references and §4/§12 checklist items updated to match.
  • v1.16 (2026-06-08): §12 reframed — UTC Z is now explicitly the default and preferred timezone (not a universal mandate forced onto every domain). New §12.2.1 documents a domain exception: a project whose core domain is fundamentally local-time-bound (e.g., Mawaqit prayer-time calculations, sunrise/sunset, local scheduling) may declare local time as its primary representation for that domain's data, provided it is documented, the UTC default still governs the project's general-purpose machinery (logs, commits, APIs), and a UTC instant remains derivable via a stored IANA timezone. §12.1 timezone row and §12.3 updated to reference the new exception and avoid contradicting it.
  • v1.15 (2026-06-08): §2 naming convention expanded — added explicitly endorsed canonical sources: The Hitchhiker's Guide to the Galaxy, Hackers (1995), Spielberg films, Ghost in the Shell, Æon Flux, Super 8, LOST, the Cloverfield franchise, and robot/android names from any sci-fi film or franchise. §2 now explicitly frames naming as a fun, playful exercise alongside the existing space-machine-AI fitness test.
  • v1.14 (2026-06-03): §3.2 reframed — Performance is the foremost priority after Stability, and its default means of achievement is multi-core, multi-thread concurrency (parallelism as the baseline, designed in from the start), unless concurrency would materially degrade performance (overhead, contention, or inherently serial workloads), in which case a documented serial/simpler approach is chosen. §3.2 compliance-checklist bullet revised.
  • v1.13 (2026-06-03): §3.1 reframed — Priority 1 is now Stability, not Memory Safety. Memory safety remains the single most important contributor and primary lever, but Priority 1 now also mandates robust error handling, fault tolerance / graceful degradation, and test-verified stability. Cardinal Rule updated to reference stability (including memory safety); §3.1 compliance-checklist bullet revised.
  • v1.12 (2026-05-25): §6.3 extended: added explicit authorized signing identity rule — all commits from v1.12 onwards must be signed with the Mohamed.Hammad@SpacecraftSoftware.org Ed25519 SSH key; committer email and signing key identity must both resolve to that address. Commits predating this version are exempt.
  • v1.11 (2026-05-24): Three normative updates: (1) Copyright notices updated to Copyright (C) 2026 Mohamed Hammad & Spacecraft Software in all locations. (2) §9.1 added: new apps must expose palette colors through a named Steelbore theme rather than hard-coded hex literals, enabling clean theme substitution. (3) §12 revised: UTC Z remains the canonical/mandatory primary format; local time expressed as a UTC offset may now optionally accompany UTC Z values in display, API responses, and stored records.
  • v1.10 (2026-05-20): Standardized copyright notice to Copyright (C) 2026 Mohamed Hammad in all three locations (YAML frontmatter masthead, §13 attribution block, and --version / About template in §6).
  • v1.9 (2026-05-18): Clarified organizational model in §1: "Steelbore" now specifically refers to Steelbore OS and OS-specific artifacts (configurations, themes, tooling); "Spacecraft Software" is the broader umbrella. Independent projects (Zamak, Ironway, Ferrocast, Caliper, etc.) are peer citizens of the umbrella — designed to work with Steelbore OS but OS-agnostic and usable on any compliant platform. Both categories governed by this standard in full.
  • v1.8 (2026-05-18): Standard name reinstated as "The Steelbore Standard". Primary mandate reaffirmed as the Steelbore OS line; scope explicitly extended by default to all Spacecraft Software projects (unless a project's own spec explicitly carves out an exception). Subtitle updated to reflect dual scope. Source file renamed The_Spacecraft_Software_Standard.mdThe_Steelbore_Standard.md. §13.1: added Standard subdomain entry (Standard.SpacecraftSoftware.org). Umbrella org name and domain (Spacecraft Software / SpacecraftSoftware.org) unchanged.
  • v1.7 (2026-05-15): Umbrella renamed from Steelbore to Spacecraft Software per the brand consolidation. Standard's name updated to "The Spacecraft Software Standard"; domain to SpacecraftSoftware.org; contact email to Mohamed.Hammad@SpacecraftSoftware.org; §13.1 subdomain pattern to <ProjectName>.SpacecraftSoftware.org. Skill ID prefix renamed (steelbore-*spacecraft-*). Subproject codenames unchanged. The OS line (Steelbore OS, Steelbore OS Bravais, Steelbore OS Lattice) retains the Steelbore name and is unaffected by this rename.
  • v1.6 (2026-05-13): Synced §2.1 development statuses with PROJECTS.md — Bravais and Anvil and Flux promoted to Completed; Ferrocast corrected to Planning; Mawaqit updated to Planning (Pending rename).
  • v1.5 (2026-05-13): Corrected Craton status in §2.1 from Active to Reserved — codename is registered but no development has started yet.
  • v1.4 (2026-05-13): Synced §2.1 Legacy Metallurgical Registry with PROJECTS.md — added five previously unregistered pre-v1.2 codenames: Anvil, Flux, Pearlite, Ferrite_OS, and Forge. Expanded §13.1 subdomain table to include all first-party projects with GitHub repositories that were missing: Anvil, Construct, Ferrite_OS, Forge, Ginx, Loran, Pearlite.
  • v1.3 (2026-05-12): Added §6.3 (Signed & Verified Commits — mandatory Ed25519 SSH commit signing with hosting-platform "Verified" status; the rule extends to programmatic, CI, and assistant-driven commits and requires rewrites to preserve signatures). Added §13.3 (Third-Party Attribution — CREDITS.md at project/skill root when external work is substantially built upon, distinct from mechanical SPDX license metadata). Two new compliance-checklist bullets cover both additions.
  • v1.2 (2026-05-11): Replaced §2 metallurgical naming convention with Aerospace, Sci-Fi & AI naming (aerospace/astronomy terminology + franchise references from 2001: A Space Odyssey, The Matrix, Terminator). Preserved pre-v1.2 metallurgical-era names under §2's Legacy Registry. Added explicit statement that the standard's name was decoupled from project naming and would survive any project or umbrella rename (subsequently revisited in v1.7's umbrella rename). Renamed Lattice to Bravais (collision with Lattice OS) in registry and §13.1 subdomain table. Flagged Mawaqit as pending rename under the v1.2 convention.
  • v1.1 (2026-05-06): Added §5 Project Posture (personal-hobby default, general-use carve-out, required posture files). Renumbered prior §5–§13 to §6–§14. Added posture bullet to compliance checklist.
  • v1.0 (2026-03-08): Initial release.