Skip to content

fix(coordination): replace pmpl-license-only; retire the stale B grade - #1241

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

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

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

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 docs(reorg): standards tidy-up deep dive, 220 issue dispositions, bot plan; fix four reds #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

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


Generated by Claude Code

Owner ruling 2026-10-14, in session.

coordination.k9:
- Invariant pmpl-license-only ("All original code uses
  PMPL-1.0-or-later") contradicted the file's own `license: MPL-2.0`
  and LICENCE-POLICY Rule 1. It is replaced by mpl-code-cc-by-sa-prose:
  code, configuration and scripts MPL-2.0; prose CC-BY-SA-4.0;
  PMPL-1.0-or-later only on the Palimpsest register; licence changes
  owner-approved, per file. LICENCE-POLICY.adoc stays authoritative, so
  the register's members are not copied here.
- The header now says the CRG grade is declared in READINESS.md (it
  still said B and that READINESS.md did not exist).
- The build and lint purposes follow the Justfile after #1240: build is
  a no-op (specs only), lint delegates to validate.
- Still parses under grammar v1.2.0; the generator parser reads it.

component-readiness-grades/SELF-ASSESSMENT.adoc: marked superseded by
0-canon/CRG-SELF-ASSESSMENT.adoc (2026-04-09, Grade C); its heading no
longer claims to be the current grade. The body is kept as the record.

docs/reorg/2026-10-14-tidy/issue-triage-089-497.adoc: #497 records the
ruling on the coordination.k9 part; the rest of #497 stays open.

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

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 39 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: b054472d-7a54-4873-b754-0afcf8410bf1
📥 Commits

Reviewing files that changed from the base of the PR and between bf21155 and b59332d.

📒 Files selected for processing: 3
  • component-readiness-grades/SELF-ASSESSMENT.adoc
  • coordination.k9
  • docs/reorg/2026-10-14-tidy/issue-triage-089-497.adoc
  • 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

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

@github-actions

Copy link
Copy Markdown
Contributor

K9 contract conformance

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

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)

@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath marked this pull request as ready for review October 14, 2026 01:18
@hyperpolymath
hyperpolymath merged commit 507b89f into main Oct 14, 2026
66 checks passed
@hyperpolymath
hyperpolymath deleted the claude/exciting-noether-dzrfrr branch October 14, 2026 01:18
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