Skip to content

feat(standard): sync §6.5 Text File Format (LF, UTF-8, final newline) — v1.51 - #52

Merged
UnbreakableMJ merged 1 commit into
mainfrom
feat/standard-v1.51-text-file-format
Aug 28, 2026
Merged

feat(standard): sync §6.5 Text File Format (LF, UTF-8, final newline) — v1.51#52
UnbreakableMJ merged 1 commit into
mainfrom
feat/standard-v1.51-text-file-format

Conversation

@UnbreakableMJ

Copy link
Copy Markdown
Contributor

Skill-side sync of Spacecraft-Software/Standard#31. Same version, same date — v1.51 (2026-08-29).

Why the rule exists

The Standard fixed the content conventions of a Spacecraft Software file long ago — Texinfo as prose source (§8), ISO 8601 timestamps (§14), SPDX headers (§4.3) — and never said how a text file is terminated.

The convention existed anyway, unwritten. anvil and bravais ship .gitattributes with * text=auto eol=lf; loran and caliper ship .editorconfig with charset/end_of_line/insert_final_newline. Four repositories out of ~99, each having arrived at it independently.

Git's core.autocrlf defaults to true on Windows, so a clone of a repository without .gitattributes gets a working tree rewritten to CRLF. The contributor's editor shows nothing unusual; the commit that leaves their machine rewrites every line of every file they touched, and the reviewer gets a whole-file diff with the actual edit buried in it.

Changes

  • SKILL.md masthead**Version:** 1.51 | **Date:** 2026-08-29
  • frontmatter description → version number only. Measures 987 characters, unchanged, under the §5.6 cap of 1000 — §6.5 is deliberately not added to the highlight list, since a new highlight would require trading one out.
  • SKILL.md §6.5 body — after §6.4, before §7
  • SKILL.md §14 checklist — new row between §6.1 and §7
  • references/CHANGELOG.md — v1.51 entry
  • Both bundles rebuilt (.zip and .skill) in the same commit

Local gate results

  • check-description-length.py — passes (987 ≤ 1000)
  • check-license-files.py . — 0 problems, 45 skills
  • check-skill-refs.py --catalogue . — references OK, 49 skills in catalogue

Not in this PR

This repository's own .gitattributes / .editorconfig / CR gate. The Standard repository self-applied inside its own PR; the umbrella-wide rollout to the remaining repositories is a separate migration, one PR per repo, on the v1.50 precedent.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XGgUmYtDJxo8EMKyB5LdoV

Skill-side sync of Standard PR #31 (Spacecraft-Software/Standard).

§6.5 states three rules about the file itself — LF (U+000A) line
endings, a final newline, UTF-8 without BOM — requires .gitattributes
(`* text=auto eol=lf`) and .editorconfig at every repository root, and
requires CI to fail on a CR byte in a tracked text file.

.gitattributes is mandatory because it is the only mechanism
independent of a contributor's core.autocrlf, which defaults to true on
Windows and rewrites the working tree on checkout; .editorconfig
because it reaches editors that never consult Git. CRLF exceptions
(vendored upstream per §4.2, cmd.exe scripts, CRLF-mandating formats)
are pinned explicitly rather than left implicit. Wire-protocol CRLF is
out of scope — the section governs files on disk.

Codification rather than a new constraint: anvil and bravais already
carry `* text=auto eol=lf`, loran and caliper already carry the three
.editorconfig keys.

SKILL.md masthead → 1.51 / 2026-08-29; frontmatter description version
bumped only (987 chars, unchanged, under the §5.6 cap); §6.5 body after
§6.4; §14 checklist row between §6.1 and §7. Both bundles rebuilt.

This repository's own .gitattributes/.editorconfig/CI gate lands with
the umbrella-wide rollout, one PR per repository.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XGgUmYtDJxo8EMKyB5LdoV
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@UnbreakableMJ
UnbreakableMJ merged commit 0b82a75 into main Aug 28, 2026
3 checks passed
@UnbreakableMJ
UnbreakableMJ deleted the feat/standard-v1.51-text-file-format branch August 28, 2026 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant