Skip to content

chore(license): remove stray Palimpsest licence file - #90

Merged
hyperpolymath merged 1 commit into
mainfrom
chore/remove-stray-pmpl-files
Sep 2, 2026
Merged

chore(license): remove stray Palimpsest licence file#90
hyperpolymath merged 1 commit into
mainfrom
chore/remove-stray-pmpl-files

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Owner ruling 2026-09-02: MPL-2.0 for code, CC-BY-SA-4.0 for docs; estate PMPL sweep Tier 1 (stray siblings); verified in license-body-verification/VERDICTS.md.

The primary LICENSE in this repo is already genuine MPL-2.0, and Cargo.toml already declares license = "MPL-2.0" cleanly. This PR deletes the stray LICENSE-PALIMPSEST — a v0.8 draft offering MIT/Apache-2.0/Palimpsest as alternatives — which had no bearing on the declared licence.

It also repoints two RSR compliance-checklist references that named LICENSE-PALIMPSEST directly:

  • scripts/verify-rsr.sh — the two "triple licensed" check calls now test for LICENSE instead of the deleted file (verified bash -n clean, and the checks pass: LICENSE-MIT, LICENSE-APACHE, LICENSE all exist).
  • docs/RSR_COMPLIANCE.adoc — the file list and "Triple Licensing" section now cite LICENSE (MPL-2.0) instead of the deleted file, so the triple-license claim (MIT + Apache-2.0 + MPL-2.0) stays accurate.

No primary LICENSE identity change. No workflow files touched.

Note for maintainer: a few other files carry broader Palimpsest identity mentions out of scope for this narrow pass — CITATION.cff SPDX header (MPL-2.0 OR LicenseRef-Palimpsest-0.5), .well-known/dc.xml <rights> field (AGPL-3.0-or-later OR LicenseRef-Palimpsest-0.5), README.adoc line ~356 ("MPL-2.0 (Palimpsest Licence)"), and .well-known/humans.txt ("License: MPL-2.0 (Palimpsest MPL)"). None name the deleted file, so they're left untouched — flagging for a follow-up identity-metadata pass.

🤖 Generated with Claude Code

Owner ruling 2026-09-02: MPL-2.0 for code, CC-BY-SA-4.0 for docs; estate
migrating off the Palimpsest/PMPL licence. The primary LICENSE here is
already correct MPL-2.0, and Cargo.toml already declares
`license = "MPL-2.0"` cleanly. This removes the stray LICENSE-PALIMPSEST
(a v0.8 draft offering MIT/Apache-2.0/Palimpsest as alternatives to the
real triple-license set), which had no bearing on the declared licence.

Also repoints the two RSR compliance-checklist references that named
LICENSE-PALIMPSEST directly (scripts/verify-rsr.sh's "triple licensed"
checks, docs/RSR_COMPLIANCE.adoc's file list) to the real LICENSE
(MPL-2.0) file, so the triple-license claim (MIT + Apache-2.0 + MPL-2.0)
stays accurate and the shell checks keep passing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Team

Run ID: d1026fba-1e15-470f-80a5-124de1c037f7

📥 Commits

Reviewing files that changed from the base of the PR and between 59557ea and e9bd222.

📒 Files selected for processing (3)
  • LICENSE-PALIMPSEST
  • docs/RSR_COMPLIANCE.adoc
  • scripts/verify-rsr.sh
💤 Files with no reviewable changes (1)
  • LICENSE-PALIMPSEST

Included review availability: 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. (5)
  • GitHub Check: rust-ci / Cargo audit (security)
  • GitHub Check: rust-ci / Coverage (tarpaulin + codecov)
  • GitHub Check: analyze (rust, none)
  • GitHub Check: Code Coverage
  • GitHub Check: Security Audit
⚠️ CI failures not shown inline (5)

GitHub Actions: Governance / 3_governance _ Security policy checks.txt: chore(license): remove stray Palimpsest licence file

Conclusion: failure

View job details

##[group]Run FAILED=false
 �[36;1mFAILED=false�[0m
 �[36;1mWEAK_CRYPTO=$(grep -rE 'md5\(|sha1\(' --include="*.py" --include="*.rb" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" . 2>/dev/null | grep -v 'checksum\|cache\|test\|spec' | head -5 || true)�[0m
 �[36;1mif [ -n "$WEAK_CRYPTO" ]; then�[0m
 �[36;1m  echo "⚠️ Weak crypto (MD5/SHA1) detected. Use SHA256+ for security:"�[0m
 �[36;1m  echo "$WEAK_CRYPTO"�[0m
 �[36;1mfi�[0m
 �[36;1mHTTP_URLS=$(grep -rE 'http://[^l][^o][^c]' --include="*.py" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" --include="*.yaml" --include="*.yml" . 2>/dev/null | grep -v 'localhost\|127.0.0.1\|example\|test\|spec' | head -5 || true)�[0m
 �[36;1mif [ -n "$HTTP_URLS" ]; then�[0m
 �[36;1m  echo "⚠️ HTTP URLs found. Use HTTPS:"�[0m
 �[36;1m  echo "$HTTP_URLS"�[0m
 �[36;1mfi�[0m
 �[36;1mSECRETS=$(grep -rEi '(api_key|apikey|secret_key|password)\s*[=:]\s*["\x27][A-Za-z0-9+/=]{20,}' --include="*.py" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" --include="*.env" . 2>/dev/null | grep -v 'example\|sample\|test\|mock\|placeholder' | head -3 || true)�[0m
 �[36;1mif [ -n "$SECRETS" ]; then�[0m
 �[36;1m  echo "❌ Potential hardcoded secrets detected!"�[0m
 �[36;1m  FAILED=true�[0m
 �[36;1mfi�[0m
 �[36;1mif [ "$FAILED" = true ]; then�[0m
 �[36;1m  exit 1�[0m
 �[36;1mfi�[0m
 �[36;1mecho "✅ Security policy check passed"�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 ❌ Potential hardcoded secrets detected!
 ##[error]Process completed with exit code 1.

GitHub Actions: Governance / governance _ Security policy checks: chore(license): remove stray Palimpsest licence file

Conclusion: failure

View job details

##[group]Run FAILED=false
 �[36;1mFAILED=false�[0m
 �[36;1mWEAK_CRYPTO=$(grep -rE 'md5\(|sha1\(' --include="*.py" --include="*.rb" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" . 2>/dev/null | grep -v 'checksum\|cache\|test\|spec' | head -5 || true)�[0m
 �[36;1mif [ -n "$WEAK_CRYPTO" ]; then�[0m
 �[36;1m  echo "⚠️ Weak crypto (MD5/SHA1) detected. Use SHA256+ for security:"�[0m
 �[36;1m  echo "$WEAK_CRYPTO"�[0m
 �[36;1mfi�[0m
 �[36;1mHTTP_URLS=$(grep -rE 'http://[^l][^o][^c]' --include="*.py" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" --include="*.yaml" --include="*.yml" . 2>/dev/null | grep -v 'localhost\|127.0.0.1\|example\|test\|spec' | head -5 || true)�[0m
 �[36;1mif [ -n "$HTTP_URLS" ]; then�[0m
 �[36;1m  echo "⚠️ HTTP URLs found. Use HTTPS:"�[0m
 �[36;1m  echo "$HTTP_URLS"�[0m
 �[36;1mfi�[0m
 �[36;1mSECRETS=$(grep -rEi '(api_key|apikey|secret_key|password)\s*[=:]\s*["\x27][A-Za-z0-9+/=]{20,}' --include="*.py" --include="*.js" --include="*.ts" --include="*.go" --include="*.rs" --include="*.env" . 2>/dev/null | grep -v 'example\|sample\|test\|mock\|placeholder' | head -3 || true)�[0m
 �[36;1mif [ -n "$SECRETS" ]; then�[0m
 �[36;1m  echo "❌ Potential hardcoded secrets detected!"�[0m
 �[36;1m  FAILED=true�[0m
 �[36;1mfi�[0m
 �[36;1mif [ "$FAILED" = true ]; then�[0m
 �[36;1m  exit 1�[0m
 �[36;1mfi�[0m
 �[36;1mecho "✅ Security policy check passed"�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 ❌ Potential hardcoded secrets detected!
 ##[error]Process completed with exit code 1.

GitHub Actions: Governance / 9_governance _ Well-Known (RFC 9116 + RSR).txt: chore(license): remove stray Palimpsest licence file

Conclusion: failure

View job details

##[group]Run SECTXT=""
 �[36;1mSECTXT=""�[0m
 �[36;1m[ -f ".well-known/security.txt" ] && SECTXT=".well-known/security.txt"�[0m
 �[36;1m[ -f "security.txt" ] && SECTXT="security.txt"�[0m
 �[36;1mif [ -z "$SECTXT" ]; then�[0m
 �[36;1m  echo "::warning::No security.txt found."�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mgrep -q "^Contact:" "$SECTXT" || { echo "::error::Missing Contact field"; exit 1; }�[0m

GitHub Actions: Governance / governance _ Well-Known (RFC 9116 + RSR): chore(license): remove stray Palimpsest licence file

Conclusion: failure

View job details

##[group]Run SECTXT=""
 �[36;1mSECTXT=""�[0m
 �[36;1m[ -f ".well-known/security.txt" ] && SECTXT=".well-known/security.txt"�[0m
 �[36;1m[ -f "security.txt" ] && SECTXT="security.txt"�[0m
 �[36;1mif [ -z "$SECTXT" ]; then�[0m
 �[36;1m  echo "::warning::No security.txt found."�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mgrep -q "^Contact:" "$SECTXT" || { echo "::error::Missing Contact field"; exit 1; }�[0m

GitHub Actions: Governance / governance _ Well-Known (RFC 9116 + RSR): chore(license): remove stray Palimpsest licence file

Conclusion: failure

View job details

##[group]Run MIXED=$(grep -rE 'src="http://|href="http://' --include="*.html" --include="*.htm" . 2>/dev/null | grep -vE 'localhost|127\.0\.0\.1|example\.com|lol/|node_modules/|third-party/|vendor/' | head -5 || true)
 �[36;1mMIXED=$(grep -rE 'src="http://|href="http://' --include="*.html" --include="*.htm" . 2>/dev/null | grep -vE 'localhost|127\.0\.0\.1|example\.com|lol/|node_modules/|third-party/|vendor/' | head -5 || true)�[0m
 �[36;1mif [ -n "$MIXED" ]; then�[0m
 �[36;1m  echo "::error::Mixed content (HTTP in HTML)"�[0m
🔇 Additional comments (2)
docs/RSR_COMPLIANCE.adoc (1)

65-66: LGTM!

Also applies to: 162-163

scripts/verify-rsr.sh (1)

73-73: LGTM!

Also applies to: 118-118


📝 Summary

Summary by CodeRabbit

  • Changes
    • Replaced the experimental Palimpsest licensing reference with the standard MPL-2.0 licence.
    • The Palimpsest licence option is no longer provided.
    • Updated compliance documentation and verification checks to reflect the current licensing arrangement.

Walkthrough

The Palimpsest licence file was deleted. RSR documentation and verification checks now reference the standard LICENSE file and identify the third licence as MPL-2.0.

Changes

Licensing alignment

Layer / File(s) Summary
Update licence references
docs/RSR_COMPLIANCE.adoc, scripts/verify-rsr.sh
The documentation and verification checks now use LICENSE for MPL-2.0 instead of LICENSE-PALIMPSEST.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to e9bd2

This change removes an unused stray licence file and updates the affected documentation and verification references without changing the primary licence identity; no actionable merge-blocking risk remains after normal checks and review.

Poem

A rabbit checks the licence trail,
MPL-2.0 now sets the tale,
The old file hops away,
Docs and checks align today,
Carrots mark a tidy change.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: removal of the stray Palimpsest licence file.
Description check ✅ Passed The description accurately explains the deleted file, the updated MPL-2.0 references, the preserved triple-licence claim, and the out-of-scope identity mentions.
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 1…
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.
Full details: Docstring Coverage

Explanation

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 1 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

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.

@hyperpolymath
hyperpolymath merged commit 00f7fb2 into main Sep 2, 2026
29 of 39 checks passed
@hyperpolymath
hyperpolymath deleted the chore/remove-stray-pmpl-files branch September 2, 2026 11:41
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