Skip to content

feat(standard): narrow §15.1 to published projects, §18.4 to release — v2.07 - #41

Merged
UnbreakableMJ merged 1 commit into
mainfrom
feat/standard-v2.07
Sep 15, 2026
Merged

UnbreakableMJ merged 1 commit into
mainfrom
feat/standard-v2.07

Conversation

@UnbreakableMJ

Copy link
Copy Markdown
Contributor

Two clauses narrowed to what they can actually mean. Both were found by measuring the gap between the text and the world, and in both cases the text was describing a different set than anyone had assumed.

§15.1 — the registry was never sixty-seven rows behind

It read "Each Spacecraft Software project has a dedicated subdomain". PROJECTS.md tracks what is on disk — ninety-five rows. Reconciling the two literally obliges sixty-seven new entries, for a list that includes:

  • vendored upstream forks carried under §4.2 — Redox, Pop, Ventoy-RS, Markitdown, Wiremix, os-prober
  • bare symbolic links into other trees — Lattice, localai4mobile, Result → a /nix/store path
  • scratch and duplicate directories — Rget-Temp, Majestic 5 (Copy)
  • reference copies — Filemanager refs, Majestic mobile refs

None of those is published by us and none has anything to serve at a subdomain. The table was not behind; the rule was describing a set nobody intended.

§15.1 now says published, and defines it: the project has a repository under a namespace Spacecraft Software controls (§6.4). Seventeen genuine rows are added on that basis — one per distinct controlled repository, which is the published identity:

Achernar · Adit · Antigravity 2 · Babel · Conduit · Reel · Majestic (×7 repos) · Packages · Projects · Specs · Theme

Ferrite_OS was already registered as Ferrite and is unchanged. The vendored rust-guidelines fork is excluded as third-party under §4.2.

§18.4 — a correction, not a relaxation

Since v1.33, a project owed a dated accessibility remediation entry in PROJECTS.md from the moment §18 was adopted — that is, for existing at all, including every pre-release experiment.

The predictable happened. At v2.06, exactly one project carried an entry while roughly fourteen owed one. That is not a standard being enforced, it is a clause being ignored — and a rule breached universally reports nothing about the projects that breach it, while burying the one project that did the work. (Scrubber's entry is honest and specific, and stays valid.)

The obligation now attaches where a reader can actually be harmed: from the moment a project cuts a release tag or declares itself usable by anyone other than the maintainer, and until it conforms. At that point it is strict — an absent entry is a compliance failure in its own right, because a shipped project may be unfinished but may not be silently unfinished. Before that point the entry is optional.

§18 still applies to every project, and a non-conforming project is not excused by this.

Unchanged

Every §15.1 entry that already existed, the §15.2 attribution block, §18's requirements in full, and §18.5's games exclusion. §16's §18 bullet is reworded to match.

No project conforming at v2.06 becomes non-conformant at v2.07 — both changes remove obligations rather than adding them.

Verification

makeinfo --no-split — zero errors, zero warnings. reuse lint passes. .md companion regenerated.

🤖 Generated with Claude Code

…— v2.07

Both clauses were obliging something nobody intended, and measuring the gap
showed the text was describing a different set than the registry assumed.

§15.1 read "each Spacecraft Software project has a dedicated subdomain",
and PROJECTS.md tracks what is on disk — ninety-five rows. Reconciling them
literally obliged sixty-seven new entries, covering vendored upstream forks
(Redox, Ventoy-RS, Markitdown), bare symlinks (Lattice, Result -> a
/nix/store path), scratch dirs (Rget-Temp, "Majestic 5 (Copy)") and
reference copies. None is published by us; none has anything to serve. The
table was not sixty-seven rows behind — the rule was describing a set
nobody meant.

§15.1 now says "published", and defines it as having a repository under a
namespace we control (§6.4). Seventeen genuine rows are added, one per
distinct controlled repo. Ferrite_OS was already registered as Ferrite; the
vendored rust-guidelines fork is excluded under §4.2.

§18.4 is a correction, not a relaxation. Since v1.33 a project owed a dated
remediation entry from adoption — for existing at all, including every
pre-release experiment. At v2.06 exactly one project carried one while
roughly fourteen owed one. That is a clause being ignored, and a rule
breached universally reports nothing while burying the one project that did
the work. The obligation now attaches at a release tag or a declaration of
usability, and is strict from there.

Neither change can make a conforming project non-conformant: both remove
obligations.

makeinfo: zero errors, zero warnings.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@UnbreakableMJ
UnbreakableMJ merged commit 369e4d3 into main Sep 15, 2026
2 checks passed
@UnbreakableMJ
UnbreakableMJ deleted the feat/standard-v2.07 branch September 15, 2026 17:00

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6c52f82689

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +3669 to +3670
@strong{Published} means the project has a repository under a namespace
Spacecraft Software controls (§6.4). That qualifier is doing real work: a

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Trigger registration only when a project is published

For a project created locally without a repository in a controlled namespace, this definition excludes it from §15.1, but the unchanged instruction at lines 3824–3825 still requires adding its subdomain immediately when the project is created. The same section therefore both exempts and registers an unpublished project, defeating the narrowed scope; make the table-update trigger publication rather than creation.

Useful? React with 👍 / 👎.

Comment on lines +3663 to +3665
Each @strong{published} Spacecraft Software project has a dedicated
subdomain following the pattern
@code{https://<ProjectName>.SpacecraftSoftware.org/}. Use the

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Express the revised subdomain obligation with shall

This sentence is the core obligation being narrowed, but §20.2 says normative weight is carried by its defined verbs and requires new or revised normative text to use those forms; has is not one of them. Consequently the revised scope reads as a statement of fact rather than a binding requirement. State that each published project shall have a dedicated subdomain.

AGENTS.md reference: AGENTS.md:L86-L88

Useful? React with 👍 / 👎.

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