skills: add spacecraft-accessibility (Standard §18 implementation layer)#11
Merged
Merged
Conversation
Standard v1.33 adds §18 and a Skill Cross-References row pointing here. §18 says what accessibility must do; this skill says how to build it. - SKILL.md — the activation contract (--accessible / SPACECRAFT_A11Y / config / hints, with precedence), the three failure modes that recur (color as sole signal, assuming the TUI framework handles it, text on unverified colored fills), the §11.1.1 variant table, and reserved screen-reader chords. - references/cli-tui.md — why terminals have no accessibility tree and what follows from it; always-on vs. accessible-mode rules; TUI linear mode; a Rust sketch resolving the toggle once and putting status tags in the renderer so they cannot be forgotten. - references/gui.md — bridge selection (AccessKit for Rust/custom-drawn, GtkAccessible, Flutter Semantics, QAccessible) with the custom-drawing failure case called out, plus AccessKit's Apache-2.0 §4.2 note. - references/audit.md — nine gates, each something you run rather than read. Includes an explicit gate that default-mode output is unchanged, so the Steelbore default is protected by test rather than by assumption. Registered in README §2. Both bundles built. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This skill is what fires during game work, so it must not push §18 rules at a project the Standard exempts. The carve-out is stated before any requirement rather than as a footnote after them. - SKILL.md: "Stop here if this is a game" placed above the mandatory rule, telling the agent not to add gates, flag missing accessibility as a defect, or ask for a remediation entry on a registered game. New Games section carries the registry, the recommended list a game may decline, and the shared-vocabulary note. - frontmatter description: now also triggers on game work, so the skill loads to say "these rules do not apply here" rather than staying silent and letting §18 be applied by default. - references/audit.md: Gate 0 short-circuits the whole audit for a registered game — report exempt, not failing, and skip gates 1-9. Gate 9 restated to exclude games from the remediation entry. Bundles rebuilt in the same commit per CLAUDE.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Standard v1.33 (Spacecraft-Software/Standard#11) adds §18 and a Skill Cross-References row pointing at
spacecraft-accessibility. This PR adds it.Division of labour: §18 says what accessibility must do. This skill says how to build it. Where they appear to diverge, §18 governs and this skill gets fixed.
Contents
SKILL.md— the router and the rules that fit in working memory:Steelborerendering, unchanged.references/cli-tui.md— why terminals have no accessibility tree (no ARIA, no roles, no live regions; the reader parses the character grid) and everything that follows: redraws cause speech loops, column alignment conveys nothing, no library rescues you. Splits always-on rules from accessible-mode rules, covers TUI linear mode, and includes a Rust sketch that resolves the toggle once into a value and puts status tags in the renderer so a call site cannot forget one.references/gui.md— bridge selection with the custom-drawing failure case called out explicitly: a canvas-painted control is not "partially accessible," it is invisible. AccessKit for Rust/custom-drawn UI,GtkAccessible, FlutterSemantics,QAccessible, with sketches. Notes AccessKit's Apache-2.0 license against §4.2/§4.3.references/audit.md— nine gates, each something you run, not something you read. Notably Gate 1 tests that default-mode output is byte-identical to pre-§18 behavior, so the Steelbore default is protected by test rather than by assumption; Gate 5 pipes accessible output throughespeak-ng, because reading output is not verification; Gate 8 ships the contrast function rather than asking anyone to eyeball a ratio.Verification
reuse lint→ compliant (589/589). Thereferences/code samples contain example SPDX headers; the existingREUSE.tomlprecedence = "override"on**already covers them..github/validate-configs.py→ 47 config files, 0 failedunzip -l—.skilldrops directory entries,.zipkeeps them, perCLAUDE.mdspacecraft-ada-guidelines, alphabetically)Merge after Construct#10, which adds the cross-reference row that points here.
🤖 Generated with Claude Code