Skip to content

chore(licence): grammars MPL-2.0, registration drafts CC-BY-SA-4.0 - #1236

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/exciting-noether-dzrfrr
Oct 13, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
claude/exciting-noether-dzrfrr

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

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.ai/code/session_01GqfpQtLuMczxtgG1U9PkLW


Generated by Claude Code

Owner ruling 2026-10-13: CC-BY-SA-4.0 for prose, MPL-2.0 for code.
Owner-approved, file by file; only the SPDX-License-Identifier line
changes in each.

To MPL-2.0 (machine-parsed grammars, so code):
- 2-protocols/k9-coordination/spec/abnf/coordination-k9-grammar_v1.2.abnf
- 2-protocols/k9-coordination/spec/abnf/coordination-k9-grammar_v1.1.abnf
  Both already carried a non-standard "SPDX-License: MPL-2.0" line that
  contradicted their CC-BY-SA-4.0 identifier; the two now agree.

To CC-BY-SA-4.0 (IANA registration forms, so prose):
- 2-protocols/k9-coordination/docs/iana/application-vnd.k9.coordination-registration.txt
- 1-formats/k9/docs/iana/application-vnd.k9-registration.txt
- 1-formats/deed/docs/iana/application-vnd.deed-registration.txt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GqfpQtLuMczxtgG1U9PkLW
@github-actions

Copy link
Copy Markdown
Contributor

K9 contract conformance

run https://github.com/hyperpolymath/standards/actions/runs/38481420818

K9 normative contract typecheck

k9_contract.ncl typechecks

K9 contract self-test

== the bash mirrors cannot drift from the normative contract ==
ok   leash_levels mirrors k9_contract.ncl
ok   core_capabilities mirrors k9_contract.ncl
ok   contract_version mirrors k9_contract.ncl
ok   schema_major mirrors k9_contract.ncl
== capability arithmetic (§8) ==
ok   capability_ok fs.read accepted
ok   capability_ok rollback.apply accepted
ok   capability_ok x-acme.gpu.alloc accepted
ok   capability_ok x-acme rejected
ok   capability_ok x-.gpu rejected
ok   capability_ok fs.delete rejected
ok   capability_ok  rejected
== the extractor ==
ok   extracts pedigree.security.leash
ok   extracts pedigree.component_type
ok   extracts pedigree.metadata.name
ok   pedigree leash is not reported as top-level leash
ok   required_capabilities for a quiet component
ok   required_capabilities follows allow_network
== the envelope strip keeps line numbers (§3.6) ==
ok   line 1 becomes a comment
ok   line count is preserved
ok   schema_version stays on line 5
== L3: signature presence is not verification (§10) ==
ok   no verifier -> K9-C001 is SKIPPED, never a pass
ok   the skip states presence does not authorise 'Hunt
ok   verifier accepts -> verdict 'Verified, no K9-C001 finding
ok   verifier refuses -> K9-C001 error, verdict 'Rejected
== the fixture runner's attribution cannot be fooled by a filename ==
ok   every extracted finding is well-formed rule+layer
ok   the rule that really fired is attributed
ok   a rule named only in the filename is NOT attributed
ok   K9-C001 is present as a skipped finding
ok   and that same finding is NOT extractable as a rejection
== the dialect discriminator agrees with the coordination grammar (§4.3) ==
ok   magic file opening '---' is coordination
ok   magic file opening 'metadata:' is coordination
ok   plain file opening '---' is unclaimed
ok   plain file opening 'metadata:' is unclaimed
== no Nickel reserved word is used as an identifier ==
ok   the contract and all 27 fixtures avoid Nickel's reserved words

self-test: all assertions passed

K9 conformance fixtures

== positive controls (must pass) ==
ok   extension-capability.k9.ncl
ok   extension-fields.k9.ncl
ok   hunt-fully-granted.k9.ncl
ok   kennel-data.k9.ncl
ok   library-base.ncl
ok   yard-typed-config.k9.ncl

== negative controls (must fail, by the named rule) ==
ok   L0-K9-E001-bad-magic.k9.ncl (rejected by K9-E001 at L0)
ok   L0-K9-E002-nul-byte.k9.ncl (rejected by K9-E002 at L0)
ok   L0-K9-E003-crlf.k9.ncl (rejected by K9-E003 at L0)
ok   L0-K9-E004-no-spdx.k9.ncl (rejected by K9-E004 at L0)
ok   L0-K9-E005-unclaimed-body.k9.ncl (rejected by K9-E005 at L0)
ok   L0-K9-S012-library-with-pedigree.ncl (rejected by K9-S012 at L0)
ok   L0-K9-S014-stray-leash.ncl (rejected by K9-S014 at L0)
ok   L1-K9-S001-no-pedigree.k9.ncl (rejected by K9-S001 at L1)
ok   L1-K9-S002-wrong-major.k9.ncl (rejected by K9-S002 at L1)
ok   L1-K9-S003-todo-component-type.k9.ncl (rejected by K9-S003 at L1)
ok   L1-K9-S004-unknown-leash.k9.ncl (rejected by K9-S004 at L1)
ok   L1-K9-S005-missing-name.k9.ncl (rejected by K9-S005 at L1)
ok   L1-K9-S006-unknown-capability.k9.ncl (rejected by K9-S006 at L1)
ok   L1-K9-S007-ungranted-flag.k9.ncl (rejected by K9-S007 at L1)
ok   L1-K9-S008-hunt-signature-not-required.k9.ncl (rejected by K9-S008 at L1)
ok   L1-K9-S009-hunt-no-signature-block.k9.ncl (rejected by K9-S009 at L1)
ok   L1-K9-S010-hunt-empty-side-effects.k9.ncl (rejected by K9-S010 at L1)
ok   L1-K9-S011-recipes-at-yard.k9.ncl (rejected by K9-S011 at L1)
ok   L1-K9-S013-dangling-import.k9.ncl (rejected by K9-S013 at L1)
ok   L2-K9-N001-two-segment-version.k9.ncl (rejected by K9-N001 at L2)
ok   L2-K9-N001-wrong-field-type.k9.ncl (rejected by K9-N001 at L2)

fixtures: 6 positive, 21 negative (0 needing nickel), 0 failure(s)

K9 corpus conformance (L2)

[validate-k9] 14 conforming, 0 grandfathered (layer all, contract v1.0.0)

@coderabbitai

coderabbitai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 07a271cb-27c9-42ad-a520-f94463e1f678
📥 Commits

Reviewing files that changed from the base of the PR and between 312ff11 and 16d0a1b.

📒 Files selected for processing: 5
  • 1-formats/deed/docs/iana/application-vnd.deed-registration.txt
  • 1-formats/k9/docs/iana/application-vnd.k9-registration.txt
  • 2-protocols/k9-coordination/docs/iana/application-vnd.k9.coordination-registration.txt
  • 2-protocols/k9-coordination/spec/abnf/coordination-k9-grammar_v1.1.abnf
  • 2-protocols/k9-coordination/spec/abnf/coordination-k9-grammar_v1.2.abnf

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout: 11
  • GitHub Check: Call CI Pipeline / Pipeline report
  • GitHub Check: governance / Validate Hypatia Baseline
  • GitHub Check: semgrep-cloud-platform/scan
  • GitHub Check: Report non-canonical JSON (report-only)
  • GitHub Check: analyze-js / analyze
  • GitHub Check: analyze-actions / analyze
  • GitHub Check: scan / Hypatia Neurosymbolic Analysis
  • GitHub Check: scorecard / Run Scorecard PR
  • GitHub Check: scan / gitleaks
  • GitHub Check: Repo self-tests
  • GitHub Check: K9-SVC contractile validation
🔇 Additional comments: 5
1-formats/deed/docs/iana/application-vnd.deed-registration.txt: 1

3-3: LGTM!

1-formats/k9/docs/iana/application-vnd.k9-registration.txt: 1

3-3: LGTM!

2-protocols/k9-coordination/docs/iana/application-vnd.k9.coordination-registration.txt: 1

3-3: LGTM!

2-protocols/k9-coordination/spec/abnf/coordination-k9-grammar_v1.1.abnf: 1

3-3: LGTM!

2-protocols/k9-coordination/spec/abnf/coordination-k9-grammar_v1.2.abnf: 1

3-3: LGTM!

📝 Summary

Summary by CodeRabbit

  • Documentation
    • Updated licence declarations across the registration documents and protocol grammar files.

Three IANA registration files change their SPDX licence identifier from MPL-2.0 to CC-BY-SA-4.0. Two K9 coordination grammar files change theirs from CC-BY-SA-4.0 to MPL-2.0.

Changes: SPDX licence declarations

Layer / File(s) Summary
Update SPDX licence declarations
1-formats/*/docs/iana/*-registration.txt, 2-protocols/k9-coordination/docs/iana/application-vnd.k9.coordination-registration.txt, 2-protocols/k9-coordination/spec/abnf/coordination-k9-grammar_v1.*.abnf
The three registration files use CC-BY-SA-4.0 instead of MPL-2.0. The two grammar files use MPL-2.0 instead of CC-BY-SA-4.0.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Suggested reviewers: joshuajewell

Merge Risk: ⚪ Minimal · up to 16d0a

The licensing metadata updates follow the recorded approval and introduce no evidenced material merge risk.

### Architecture Summary

Architecture risk: 🔵 Low · up to 16d0a

The change affects 2 systems.

Changed systems: 2-protocols, 1-formats

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — 2-protocols (service) was modified; 3 changed files map to changed impact.
  • observed — 1-formats (service) was modified; 2 changed files map to changed impact.

Before / after behavior

  • observed — Modified behavior in 1-formats/deed/docs/iana/application-vnd.deed-registration.txt: The SPDX licence identifier changes from MPL-2.0 to CC-BY-SA-4.0.
  • observed — Modified behavior in 1-formats/k9/docs/iana/application-vnd.k9-registration.txt: The SPDX licence identifier changes from MPL-2.0 to CC-BY-SA-4.0.
  • observed — Modified behavior in 2-protocols/k9-coordination/docs/iana/application-vnd.k9.coordination-registration.txt: The SPDX licence identifier changes from MPL-2.0 to CC-BY-SA-4.0.
  • observed — Modified behavior in 2-protocols/k9-coordination/spec/abnf/coordination-k9-grammar_v1.1.abnf: The SPDX licence identifier changes from CC-BY-SA-4.0 to MPL-2.0.
Pre-merge checks: Passed 5
Passed Passed checks: 5 passed
Check name Status Explanation
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Title check Passed The title clearly summarises the main change: MPL-2.0 applies to the grammars and CC-BY-SA-4.0 applies to the registration drafts.
Description check Passed The description directly explains the five licence changes, the prose-versus-code rule, the affected files, the related header updates, and the reported test results.
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

A rabbit checks each header line
Three labels change to CC-BY-SA
Two grammar files now say MPL
The licence notes sit neat and still
The rabbit hops away to rest

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath marked this pull request as ready for review October 13, 2026 23:01
@hyperpolymath
hyperpolymath merged commit 736f792 into main Oct 13, 2026
68 checks passed
@hyperpolymath
hyperpolymath deleted the claude/exciting-noether-dzrfrr branch October 13, 2026 23:07
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>
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.

2 participants