Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified spacecraft-standard-constitution.skill
Binary file not shown.
Binary file modified spacecraft-standard-constitution.zip
Binary file not shown.
270 changes: 262 additions & 8 deletions spacecraft-standard-constitution/SKILL.md

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions spacecraft-standard-constitution/references/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ 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 siblings* — `steelbore` 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` 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.
Expand Down
Binary file modified spacecraft-theme-factory.skill
Binary file not shown.
Binary file modified spacecraft-theme-factory.zip
Binary file not shown.
33 changes: 28 additions & 5 deletions spacecraft-theme-factory/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,17 @@ website: https://Construct.SpacecraftSoftware.org/
> and the `spacecraft-brand-guidelines` skill. Themes may not introduce
> colors, fonts, or naming outside what these sources define.

## Color Palette (WCAG 2.1 AA Compliant)
## Color Palette (WCAG AA Compliant against Void Navy)

All colors are verified for contrast against the Void Navy (`#000027`) background.
All colors are verified for contrast **against the Void Navy (`#000027`)
background** — Molten Amber 7.64:1, Steel Blue 4.77:1, Radium Green 14.87:1,
Red Oxide 6.74:1, Liquid Coolant 14.74:1. All pass Level AA.

**This guarantee does not extend to token-on-token pairings.** Most palette
tokens paired with each other fall below the 3:1 floor (Molten Amber on Red
Oxide is 1.13:1; Radium Green on Liquid Coolant is 1.01:1). Never emit a theme
that places palette-colored text on a palette-colored fill unless you have
measured that specific pair at ≥4.5:1 (Standard §11).

| Token | Hex | RGB | Role |
|----------------|-----------|--------------------|-------------------------------|
Expand Down Expand Up @@ -55,9 +63,17 @@ Never use proprietary fonts. Outfit, Inter, Roboto, and similar non-OFL fonts ar
Coolant for info/links. Never invent new color names or shift hex codes.
5. **Apply the §12 typography** (Share Tech Mono headings, Inconsolata body)
wherever the platform supports font selection.
6. **Verify WCAG 2.1 AA contrast** against Void Navy for every color pair
6. **Emit the accessibility variants alongside the default** (Standard §11.1.1)
whenever the target platform supports more than one theme: `steelbore`
(default, canonical palette), `steelbore-high-contrast` (`accent` →
`#7FAEDC`, `error` → `#FF8080`; the other four tokens verbatim — every token
≥7:1 on Void Navy), and `steelbore-mono` (4-bit ANSI, deferring to the
user's terminal palette). `steelbore` remains the sole default; the variants
are additive siblings and never replace it. Void Navy stays the background
in all three.
7. **Verify WCAG 2.2 AA contrast** against Void Navy for every color pair
before shipping.
7. **Emit the platform's native config format** (JSON, XML, TOML, ini) with
8. **Emit the platform's native config format** (JSON, XML, TOML, ini) with
all hex codes verbatim from the canonical table.

## Output Targets
Expand All @@ -75,7 +91,14 @@ Before shipping any generated theme:

- All hex codes match §11 verbatim — no variants, no near-matches.
- All fonts are FOSS-licensed and listed in §12.
- Every color pair against Void Navy passes WCAG 2.1 Level AA.
- Every foreground token against Void Navy passes WCAG 2.2 Level AA. (Scope
the claim precisely — token-on-token pairings are *not* covered and mostly
fail; see the palette note above.)
- No generated theme places palette-colored text on a palette-colored fill
without a measured ≥4.5:1 ratio for that specific pair.
- Where the platform supports multiple themes, `steelbore-high-contrast` and
`steelbore-mono` are emitted alongside `steelbore`, and `steelbore` is still
the default.
- Output references only `spacecraft-brand-guidelines` (lowercase) for
upstream brand context; no claims of `/themes`, `/scripts`, or
`/templates` subdirectories (this skill ships as `SKILL.md` only).
Expand Down
Loading