Skip to content

Commit 5c1c44c

Browse files
chore(license): reconcile residual PMPL prose to canonical MPL-2.0 + CC-BY-SA-4.0 (#172)
## Summary Follow-up to **#167** (already merged). #167 flagged a license-classification drift "🚩 for owner (no action taken)": stray `PMPL-1.0-or-later` strings survived in prose/metadata even though this repo's canonical license is **MPL-2.0** (code/config) + **CC-BY-SA-4.0** (docs). The estate already normalised to that pair in #138/#156/#161/#163; the #156 pass flipped SPDX *header* stamps only, leaving the bodies behind. This PR clears the residue. verisimiser is **not** a PMPL carve-out repo, and `LICENSE`, `LICENSES/`, `Cargo.toml` and every SPDX header are MPL-2.0 — so the remaining PMPL prose was drift, not intent. ## Changes **Reconciled (the repo's own license declarations):** - `.machine_readable/compliance/reuse/dep5` — REUSE/DEP5 default + config stanzas `PMPL-1.0-or-later` → `MPL-2.0`; the `CC-BY-SA-4.0` docs override (last-match-wins) is kept intact. - `.well-known/ai.txt` — code-license line → MPL-2.0; dropped the `Emotional Lineage per PMPL Section 3` clause (no such obligation exists in MPL-2.0). - `.well-known/humans.txt` — `License:` → `MPL-2.0 (code) + CC-BY-SA-4.0 (docs)`. - `docs/attribution/CITATION.cff` — `license:` → `MPL-2.0`. - `.machine_readable/ai/{.cursorrules,.clinerules,.windsurfrules}` — license-policy block → MPL-2.0 canonical pair (kept the `Never AGPL-3.0` estate rule). - `.machine_readable/svc/k9/examples/{project-metadata,setup-repo}.k9.ncl` — example license string/recipe → MPL-2.0 (the scaffolding recipe no longer `curl`s a PMPL `LICENSE`). **Deliberately left untouched (not the repo's own self-declarations — flagged for owner):** - `docs/legal/EXHIBIT-A-ETHICAL-USE.txt`, `docs/legal/EXHIBIT-B-QUANTUM-SAFE.txt` — these are *bodies of the Palimpsest-MPL license itself*, not a verisimiser license claim. Whether an MPL-2.0 repo should ship them at all is a removal decision for the owner, not a find-replace. - `contractile.just` — the `'SPDX|License|MIT|Apache|PMPL|MPL'` grep is a generic multi-license *recognizer*, not a declaration; PMPL is a valid alternative to keep matching. ## RSR Quality Checklist ### Required - [x] Tests pass — metadata/docs-only change; no code touched, `cargo` build/test surface unaffected - [x] Code is formatted — no code changed - [x] Linter is clean — no new warnings or errors - [x] No banned language patterns - [x] No `unsafe` blocks without `// SAFETY:` comments — none added - [x] No banned functions (`believe_me`, `unsafeCoerce`, `Obj.magic`, `Admitted`, `sorry`) - [x] SPDX license headers — all modified files retain their existing MPL-2.0/CC-BY-SA-4.0 headers; no new files - [x] No secrets, credentials, or `.env` files ### As Applicable - [ ] State files — no project-state/architecture change - [x] New dependencies reviewed — none added - [x] ABI/FFI consistency — unaffected by this change ## Testing Verified by inspection + `git grep`: after the change, the only remaining `PMPL`/`Palimpsest` references are the three deliberately-preserved cases above (the two license exhibits + the generic recognizer). The `dep5` `CC-BY-SA-4.0` docs override is preserved. Canonical MPL-2.0 source URL used in the k9 example was confirmed reachable (HTTP 200). ## Screenshots n/a (text-only diff) --- 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- _Generated by [Claude Code](https://claude.ai/code/session_01JdqVWGSSv36Ph8ZWvizGMp)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent 56e6c5f commit 5c1c44c

9 files changed

Lines changed: 23 additions & 24 deletions

File tree

.machine_readable/ai/.clinerules

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
# STARTUP: Read 0-AI-MANIFEST.a2ml first, then .machine_readable/STATE.a2ml.
66

77
# LICENSE
8-
# All original code: PMPL-1.0-or-later.
9-
# Never AGPL-3.0. MPL-2.0 only as platform-required fallback.
8+
# Code + config: MPL-2.0. Documentation prose: CC-BY-SA-4.0.
9+
# Never AGPL-3.0.
1010
# SPDX header required on every source file.
1111
# Copyright: {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
1212

.machine_readable/ai/.cursorrules

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
# Read 0-AI-MANIFEST.a2ml in the repo root FIRST for canonical file locations.
66

77
# LICENSE
8-
# All original code: PMPL-1.0-or-later (SPDX header required on every file).
9-
# Never use AGPL-3.0. Fallback to MPL-2.0 only when platform requires it.
8+
# Code + config: MPL-2.0 (SPDX header required on every file). Docs prose: CC-BY-SA-4.0.
9+
# Never use AGPL-3.0.
1010
# Copyright: {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
1111

1212
# STATE FILES

.machine_readable/ai/.windsurfrules

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
# STARTUP: Read 0-AI-MANIFEST.a2ml first, then .machine_readable/STATE.a2ml.
66

77
# LICENSE
8-
# All original code: PMPL-1.0-or-later.
9-
# Never AGPL-3.0. MPL-2.0 only as platform-required fallback.
8+
# Code + config: MPL-2.0. Documentation prose: CC-BY-SA-4.0.
9+
# Never AGPL-3.0.
1010
# SPDX header required on every source file.
1111
# Copyright: {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
1212

.machine_readable/compliance/reuse/dep5

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,55 +3,55 @@ Upstream-Name: {{PROJECT_NAME}}
33
Upstream-Contact: {{AUTHOR}} <{{AUTHOR_EMAIL}}>
44
Source: https://github.com/{{OWNER}}/{{REPO}}
55

6-
# Default: all files are PMPL-1.0-or-later
6+
# Default: all files are MPL-2.0
77
Files: *
88
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
9-
License: PMPL-1.0-or-later
9+
License: MPL-2.0
1010

1111
# Configuration files that cannot carry headers
1212
Files: .editorconfig .gitignore .gitattributes .tool-versions .mailmap
1313
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
14-
License: PMPL-1.0-or-later
14+
License: MPL-2.0
1515

1616
# Machine-readable state files
1717
Files: .machine_readable/*.a2ml
1818
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
19-
License: PMPL-1.0-or-later
19+
License: MPL-2.0
2020

2121
# Bot directives
2222
Files: .machine_readable/bot_directives/*
2323
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
24-
License: PMPL-1.0-or-later
24+
License: MPL-2.0
2525

2626
# Contractiles
2727
Files: .machine_readable/contractiles/*
2828
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
29-
License: PMPL-1.0-or-later
29+
License: MPL-2.0
3030

3131
# GitHub/CI configuration
3232
Files: .github/* .github/**/*
3333
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
34-
License: PMPL-1.0-or-later
34+
License: MPL-2.0
3535

3636
# Generated files
3737
Files: generated/*
3838
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
39-
License: PMPL-1.0-or-later
39+
License: MPL-2.0
4040

4141
# Lockfiles and auto-generated
4242
Files: *.lock Cargo.lock flake.lock
4343
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
44-
License: PMPL-1.0-or-later
44+
License: MPL-2.0
4545

4646
# Devcontainer config (JSON, no comments)
4747
Files: .devcontainer/*.json
4848
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
49-
License: PMPL-1.0-or-later
49+
License: MPL-2.0
5050

5151
# Git-cliff config
5252
Files: cliff.toml
5353
Copyright: {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
54-
License: PMPL-1.0-or-later
54+
License: MPL-2.0
5555

5656
# Documentation prose is CC-BY-SA-4.0 (code/config is MPL-2.0).
5757
# Last-match-wins in the Debian copyright format, so this overrides the

.machine_readable/svc/k9/examples/project-metadata.k9.ncl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ K9!
4040
organization = "{{AUTHOR_ORG}}",
4141
},
4242

43-
license = "PMPL-1.0-or-later",
43+
license = "MPL-2.0",
4444

4545
keywords = [
4646
"rhodium-standard",

.machine_readable/svc/k9/examples/setup-repo.k9.ncl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,9 @@ K9!
130130
},
131131

132132
"add-license" = {
133-
description = "Add PMPL-1.0 license",
133+
description = "Add MPL-2.0 license",
134134
commands = [
135-
"curl -sL https://raw.githubusercontent.com/hyperpolymath/pmpl/main/LICENSE -o LICENSE",
135+
"curl -sL https://raw.githubusercontent.com/spdx/license-list-data/main/text/MPL-2.0.txt -o LICENSE",
136136
"echo '✓ License added'",
137137
],
138138
},

.well-known/ai.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@ Disallow-Training: yes
77
Disallow-Summarization: no
88
Disallow-Generation: yes
99

10-
# This project's code is licensed under PMPL-1.0-or-later.
10+
# This project's code is licensed under MPL-2.0 (documentation prose under CC-BY-SA-4.0).
1111
# AI agents may read and analyze this code for assisting contributors.
1212
# AI agents must NOT use this code for model training without explicit consent.
13-
# AI agents must preserve Emotional Lineage per PMPL Section 3.
1413
#
1514
# For AI agent integration instructions, see:
1615
# 0-AI-MANIFEST.a2ml (universal AI entry point)

.well-known/humans.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ From: United Kingdom
99
/* SITE */
1010
Last update: {{CURRENT_DATE}}
1111
Standards: RSR (Rhodium Standard Repository)
12-
License: PMPL-1.0-or-later (Palimpsest MPL)
12+
License: MPL-2.0 (code) + CC-BY-SA-4.0 (docs)
1313
Components: Idris2 ABI, Zig FFI
1414
Tools: just, Podman, Guix

docs/attribution/CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ version: 0.1.0
99
date-released: {{CURRENT_DATE}}
1010
url: "https://{{FORGE}}/{{OWNER}}/{{REPO}}"
1111
repository-code: "https://{{FORGE}}/{{OWNER}}/{{REPO}}"
12-
license: PMPL-1.0-or-later
12+
license: MPL-2.0
1313
keywords:
1414
- "rsr"
1515
- "formal-verification"

0 commit comments

Comments
 (0)