feat(standard-constitution): §3.1.1 TypeScript over JavaScript — v1.41 - #23
Merged
Merged
Conversation
Syncs the skill encoding to The Steelbore Standard v1.41 (2026-08-04), landed in the Standard repo as §3.1.1. §3.1 named Rust as the preferred language and prescribed ASLR+CFI where Rust is not viable, but said nothing about the one runtime where that framing does not apply: JavaScript is already memory-safe, so the memory-safety lever is inert. §3.1.1 supplies the missing rule — type safety is the Priority 1 lever on this runtime. Where the JavaScript runtime is genuinely required, the source language MUST be TypeScript; plain JavaScript source becomes a documented exemption. Requirements: strict mode plus noUncheckedIndexedAccess / noImplicitOverride / exactOptionalPropertyTypes; no `any` or non-null `!` in production paths; `@ts-expect-error` with a reason instead of `@ts-ignore`; run-time validation at every trust boundary; `tsc --noEmit` gating CI (transpile-only pipelines do not satisfy the section); and loading spacecraft-typescript-guidelines. Emitted .js is a derived artifact and out of scope. Masthead and frontmatter bumped to v1.41; §16 gains a checklist bullet; Skill Cross-References gains a spacecraft-typescript-guidelines row; references/CHANGELOG.md gains the v1.41 entry. Both bundles rebuilt. Frontmatter description measures 978 rendered characters (§5.6 cap is 1000) — the §4.3 LICENSE-symlink highlight rotated out to make room. Co-Authored-By: Claude Opus 5 (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 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.
Summary
Syncs the skill encoding to The Steelbore Standard v1.41 (2026-08-04), landed in the Standard repo as §3.1.1.
Companion to Spacecraft-Software/Standard#20.
§3.1 named Rust as the preferred language and prescribed ASLR+CFI where Rust is not viable, but said nothing about the one runtime where that framing does not apply: JavaScript is already memory-safe, so the memory-safety lever is inert. §3.1.1 supplies the missing rule — type safety is the Priority 1 lever on this runtime. Where the JavaScript runtime is genuinely required, the source language MUST be TypeScript; plain JavaScript source becomes a documented exemption.
Requirements encoded
"strict": trueplusnoUncheckedIndexedAccess,noImplicitOverride,exactOptionalPropertyTypesany/ non-null!in production paths;@ts-expect-errorwith a reason instead of@ts-ignoretsc --noEmitgates CI — transpile-only pipelines (esbuild, SWC, Bun) do not satisfy the sectionspacecraft-typescript-guidelinesbefore writing or reviewing TypeScriptEmitted
.jsis a derived artifact and out of scope.Changes
SKILL.md— §3.1.1 body between §3.1 and §3.2; masthead → v1.41 / 2026-08-04; §16 checklist bullet;spacecraft-typescript-guidelinesrow in Skill Cross-References.SKILL.mdfrontmatterdescription→ v1.41. It sat at 973/1000 characters with 27 to spare, so the§4.3 LICENSE symlinkhighlight was rotated out to make room for§3.1.1 TypeScript over JS. Now 978 rendered characters (§5.6 cap: 1000), measured post-folding the way the loader sees it. The §4.3 rule itself is unchanged in the body — only the teaser list moved.references/CHANGELOG.md— v1.41 entry mirroring the Standard's..zipwith directory entries,.skillwith-D) and byte-verified against the working tree, per the repo's bundling contract — a stale bundle ships broken content to every agent that installs from it.Verification
description: 978 rendered chars (folded scalar joined with single spaces + trailing newline) — under the §5.6 capreuse lint— compliant, 606/606 filesunzip -p … | diff -on both bundle members —SKILL.mdandreferences/CHANGELOG.mdmatch the working tree🤖 Generated with Claude Code