Repository navigation
feat(crg): READINESS.md + crg-grade fix; owner-approved licence corrections - #1235
Merged
Merged
Conversation
READINESS.md is the machine-readable grade declaration the CRG spec asks for (COMPONENT-READINESS-GRADES.adoc, "Machine-Readable Grade Declaration"). The repo that defines CRG had none, so `just crg-grade` fell back to X. The grade is C (owner ruling 2026-10-13): the latest assessment, 0-canon/CRG-SELF-ASSESSMENT.adoc (2026-04-09), which also lists the gaps to B. The file notes the earlier B assessment in component-readiness-grades/SELF-ASSESSMENT.adoc (2026-04-04) and that the later one governs. `just crg-grade` and `just crg-badge` never ran: they used Make's `$$` escape, which just does not have, so sh saw `grade=<pid>(grep ...)` and failed with a syntax error. They now use `$`. Checked with just 1.21: crg-grade prints C, crg-badge prints the yellow C badge, and both fall back to X without READINESS.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GqfpQtLuMczxtgG1U9PkLW
Contributor
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing: 3
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Contributor
K9 contract conformancerun https://github.com/hyperpolymath/standards/actions/runs/38480744292 K9 normative contract typecheckK9 contract self-testK9 conformance fixturesK9 corpus conformance (L2) |
The README is prose documentation, which LICENCE-POLICY Rule 1 puts under CC-BY-SA-4.0. It was given MPL-2.0 in error when it was added in #1233. Owner-approved change to this one file (2026-10-13). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GqfpQtLuMczxtgG1U9PkLW
Contributor
K9 contract conformancerun https://github.com/hyperpolymath/standards/actions/runs/38480857838 K9 normative contract typecheckK9 contract self-testK9 conformance fixturesK9 corpus conformance (L2) |
|
hyperpolymath
marked this pull request as ready for review
October 13, 2026 22:55
hyperpolymath
added a commit
that referenced
this pull request
Oct 13, 2026
…1236) This is the licence commit from #1235. It was pushed about a minute after #1235 merged, so it never reached main. **Rule (owner ruling 2026-10-13):** CC-BY-SA-4.0 for prose, MPL-2.0 for code. The owner approved each of these five files individually. Only the `SPDX-License-Identifier` line changes in each. | File | Was | Now | Why | |---|---|---|---| | `2-protocols/k9-coordination/docs/iana/application-vnd.k9.coordination-registration.txt` | MPL-2.0 | CC-BY-SA-4.0 | registration form, so prose | | `1-formats/k9/docs/iana/application-vnd.k9-registration.txt` | MPL-2.0 | CC-BY-SA-4.0 | registration form, so prose | | `1-formats/deed/docs/iana/application-vnd.deed-registration.txt` | MPL-2.0 | CC-BY-SA-4.0 | registration form, so prose | | `2-protocols/k9-coordination/spec/abnf/coordination-k9-grammar_v1.2.abnf` | CC-BY-SA-4.0 | MPL-2.0 | machine-parsed grammar, so code | | `2-protocols/k9-coordination/spec/abnf/coordination-k9-grammar_v1.1.abnf` | CC-BY-SA-4.0 | MPL-2.0 | machine-parsed grammar, so code | Both grammar files also carry a non-standard `SPDX-License: MPL-2.0` line, which contradicted their CC-BY-SA-4.0 identifier. After this change both lines say MPL-2.0. **Left alone:** `1-formats/a2ml/anchor/abnf/anchor.abnf` is also a CC-BY-SA-4.0 grammar, but A2ML is retired. ## Testing - The root `coordination.k9` still parses under the v1.2 grammar. - `k9-validate.sh --self-test` passes. - Shell suite: 77 of 81 test files pass. The other 4 fail identically on `main` in this sandbox, which lacks the tools they need: KYAML-capable yq, the JCS tool and Ruby. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01GqfpQtLuMczxtgG1U9PkLW --- _Generated by [Claude Code](https://claude.ai/code/session_01GqfpQtLuMczxtgG1U9PkLW)_ Co-authored-by: Claude <noreply@anthropic.com>
hyperpolymath
added a commit
that referenced
this pull request
Oct 14, 2026
… plan; fix four reds (#1240) ## What this is The deep dive the owner asked for on 2026-10-14: what `standards` is, why it is hard to read, what each of its 220 open issues asks for once read literally / sensibly / for its mischief, how it is wired to the seven sibling repos, and a phased plan that cheaper models can execute packet by packet. Entry point: `docs/reorg/2026-10-14-tidy/README.adoc`. Appendices in the same directory: four issue-triage records (one per range, every open issue), the workflow audit, the wiring audit (40 drifts), and a rulings-ledger snapshot D1–D334 compiled from #787 and #1234 (the local ledger was lost with the workstation; the issues stay authoritative, this is a derived copy). ## Phase 0 fixes landed here (each verified locally) - `standards-map.toml`: `READINESS.md` mapped (Gate D was red on `main` since #1235). `bash scripts/check-standards-map.sh` → GATE D PASSED. - `.machine_readable/Debtfile.a2ml`: removed the resolved `shell-scripts-missing-spdx` entry whose acceptance expired 2026-10-01 (`debt-measure` red). `run-debtfile.sh` → passes; `check-debtfile-structure.sh` → 7 entries OK. - `.github/workflows/readme-derive-reusable.yml`: removed the `concurrency` block. Inside a called workflow `github.workflow` is the caller's name, so caller and reusable shared one group and the run cancelled itself before any job (README Derive: 0 jobs on 28 consecutive main runs). YAML parsed with a library after the edit. - `Justfile`: `v1-audit` path corrected, `build`/`clean` no longer reference a missing directory, `lint` delegates to `validate` instead of echoing a banned tool, `llm-context` reads the `.adoc` warm-ups. `just --list` and `--dry-run` clean. - `.github/funding.yml`: removed (lower-case duplicate of `FUNDING.yml`, names another owner, case-collides on insensitive filesystems). Also green locally: Mustfile (14 pass, 1 manual), canonical-names guard, Gate A, `git diff --check`, SPDX header on every new file, link-rot-guard adds no new findings. Debt-exception: shell-scripts-missing-spdx — count reached 0 and the entry's acceptance expired 2026-10-01; entries leave the ledger by reaching zero (Debtfile preamble) ## Not done here, by design No moves, deletions of content, licence edits, `.a2ml` writes or estate sweeps. Those are the Phase 1–8 packets in the plan, each with a tier, steps and a mechanical acceptance test. The owner decision sheet (candidate rows D335–D354) is in §Owner decision sheet; it has not been posted to #1234. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01T4U5XuN4NWs8FTxoe5PuH7 --- _Generated by [Claude Code](https://claude.ai/code/session_01T4U5XuN4NWs8FTxoe5PuH7)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
This was referenced Oct 14, 2026
hyperpolymath
added a commit
that referenced
this pull request
Oct 14, 2026
#1241) Owner ruling 2026-10-14, given in session. Follow-up to #1235 and #1236. ## `coordination.k9` - **Licence invariant replaced.** `pmpl-license-only` said "All original code uses PMPL-1.0-or-later". That contradicted the file's own `license: MPL-2.0` and LICENCE-POLICY Rule 1. It becomes `mpl-code-cc-by-sa-prose`: - code, configuration and scripts are MPL-2.0; - prose is CC-BY-SA-4.0; - PMPL-1.0-or-later appears only on the Palimpsest register; - licence changes are owner-approved, file by file. LICENCE-POLICY.adoc stays authoritative, so the register's members are not copied into this file. - **Header comment.** It now says the CRG grade is declared in `READINESS.md`. Before, it still said B and that `READINESS.md` did not exist. - **`build_commands`.** The descriptions now match the Justfile as changed in #1240: `just build` is a no-op because the repo ships specs only, and `just lint` delegates to `just validate`. ## `component-readiness-grades/SELF-ASSESSMENT.adoc` - This document is now marked superseded by `0-canon/CRG-SELF-ASSESSMENT.adoc` (2026-04-09, Grade C), which found the Grade B criteria not yet met. - Its heading no longer claims to show the current grade. The body is kept as the historical record. ## `docs/reorg/2026-10-14-tidy/issue-triage-089-497.adoc` - The #497 entry now records the ruling on the coordination.k9 part. - Item (a) and the PALIMPSEST.adoc / `licenses/` part of (b) remain open. - The tidy plan's P5.2 (rewriting the A2ML-era invariants for the deed era) is not done here; it stays with its owner in that plan. ## Testing - The root `coordination.k9` parses under grammar v1.2.0 (apg-js). The k9-init generator parser reads it, and all sections render. - The `validate-k9` hook and `k9-validate.sh --self-test` pass. - Shell suite: 77 of 81 test files pass. The other 4 fail identically on `main` in this sandbox, which lacks KYAML-capable yq, the JCS tool and Ruby. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01GqfpQtLuMczxtgG1U9PkLW --- _Generated by [Claude Code](https://claude.ai/code/session_01GqfpQtLuMczxtgG1U9PkLW)_ Co-authored-by: Claude <noreply@anthropic.com>
hyperpolymath
added a commit
to hyperpolymath/rsr-template-repo
that referenced
this pull request
Oct 14, 2026
…235) ## Summary `just crg-grade` and `just crg-badge` have never worked. Both recipes use Make's `$$` escape, which `just` does not have. As a result, `sh` received `grade=<pid>(grep …)` and stopped with `Syntax error: "(" unexpected` before it ever read `READINESS.md`. The CRG spec in `hyperpolymath/standards` names this template's Justfile as the source of these recipes, so it is fixed here at the source. The same fix landed in hyperpolymath/standards#1235. ## Changes - `Justfile`: the seven `$$` in `crg-grade` and `crg-badge` become `$`. - `.machine_readable/contractiles/Justfile`: the same change. This file is a byte-identical copy of the root `Justfile`, and the two stay identical after the fix. ## RSR Quality Checklist ### Required - [x] Tests pass: the changed recipes were run directly (see Testing). The full `just test` was not run here, because this Justfile uses `just` modules, which the sandbox's just 1.21 cannot parse. - [x] Code is formatted (no formatting change) - [x] Linter is clean (no new warnings or errors) - [x] No banned language patterns - [x] No `unsafe` blocks without `// SAFETY:` comments (none touched) - [x] No banned functions - [x] SPDX license headers present on all new/modified source files (unchanged) - [x] No secrets, credentials, or `.env` files included ### As Applicable Nothing applies: no project state, integration, architecture or dependency changes. ## Testing Both recipes were extracted from the Justfile and run with just 1.21: - **Old recipes:** fail with `sh: 1: Syntax error: "(" unexpected`. - **New recipes:** - without `READINESS.md`, they print `X` and the grey CRG X badge; - with a `**Current Grade:** D` line, they print `D` and the orange CRG D badge. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01GqfpQtLuMczxtgG1U9PkLW --- _Generated by [Claude Code](https://claude.ai/code/session_01GqfpQtLuMczxtgG1U9PkLW)_ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Fixed grade and badge generation so the readiness grade is correctly read from `READINESS.md`, with `X` used when no matching grade is found. * Badge colors continue to reflect the grade, and the generated badge link is printed as expected. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Claude <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.



Follow-up to #1233. The repo that defines CRG had no machine-readable grade declaration, so
just crg-gradewould have printed X for it. In fact the recipe never ran at all; see below. This PR also makes owner-approved licence corrections to six files.READINESS.md(new)**Current Grade:** Cline that the CRG spec asks for (COMPONENT-READINESS-GRADES.adoc, "Machine-Readable Grade Declaration").0-canon/CRG-SELF-ASSESSMENT.adoc(2026-04-09). That document also lists the gaps to Grade B.component-readiness-grades/SELF-ASSESSMENT.adocrecords an earlier B (2026-04-04).READINESS.mdnotes it and says the later assessment governs. That document is not edited here.just crg-grade/just crg-badgefixed$$escape, whichjustdoes not have.shtherefore receivedgrade=<pid>(grep …)and failed withSyntax error: "(" unexpected.$$in those two recipes become$. Nothing else in the Justfile changes.crg-gradeprintsC;crg-badgeprints the yellow CRG C shields.io badge;READINESS.md, both fall back toX.Licence corrections (owner ruling 2026-10-13, approved file by file)
The rule applied is CC-BY-SA-4.0 for prose and MPL-2.0 for code. Only the
SPDX-License-Identifierline changes in each file..github/actions/signed-push/README.md2-protocols/k9-coordination/docs/iana/application-vnd.k9.coordination-registration.txt1-formats/k9/docs/iana/application-vnd.k9-registration.txt1-formats/deed/docs/iana/application-vnd.deed-registration.txt2-protocols/k9-coordination/spec/abnf/coordination-k9-grammar_v1.2.abnf2-protocols/k9-coordination/spec/abnf/coordination-k9-grammar_v1.1.abnfBoth grammars already carried a non-standard
SPDX-License: MPL-2.0line. It contradicted their identifier; the two now agree.Not changed (flagged)
component-readiness-grades/SELF-ASSESSMENT.adocstays as it is.coordination.k9, which still says the grade is B and that this repo has noREADINESS.mdyet. It is now stale.rsr-template-repo's Justfile. If that file has the same$$, it has the same bug. It is a different repository, so it is not fixed here.1-formats/a2ml/anchor/abnf/anchor.abnfis also a CC-BY-SA-4.0 grammar. A2ML is retired, so it is left alone.Testing
just --listparses the Justfile, and the two recipes were run as described above.coordination.k9still parses under the v1.2 grammar.k9-validate.sh --self-testpasses.mainin this sandbox, which lacks the tools they need: KYAML-capable yq, the JCS tool and Ruby. The 4 arecheck-actions-lock-gate,check-ijson-jcs,kyaml-formatandscience-ci-security.🤖 Generated with Claude Code
https://claude.ai/code/session_01GqfpQtLuMczxtgG1U9PkLW
Generated by Claude Code