Commit 2804dd5
chore(license): migrate PMPL references to MPL-2.0 (#45)
## Summary
Owner ruling 2026-09-02: MPL-2.0 for code, CC-BY-SA-4.0 for docs; estate
PMPL sweep Tier 2 (generator/template emitters). This repo's own
`LICENSE` was already canonical MPL-2.0 text — this PR removes the
remaining Palimpsest/PMPL *references* scattered through docs, badges,
machine-readable trust gates, and one example script.
## Changes
- **Licence gate fix** (the important generator fix):
`.machine_readable/contractiles/Trustfile.a2ml` and its generated mirror
`build/contractile.just` (`trust-license-content`) replaced the
vacuous/PMPL-accepting
`grep -q 'SPDX\|License\|MIT\|Apache\|PMPL\|MPL' LICENSE`
with the canon two-part check:
`grep -qiE 'Mozilla Public License|MIT License|Apache License|General
Public License|Creative Commons' LICENSE && ! grep -qi palimpsest
LICENSE`
(licence-agnostic positive list + Palimpsest negative guard, per
vexometer PRs #78/#79).
- Dropped `(Palimpsest MPL)` / `(Palimpsest License)` qualifiers in
`.well-known/humans.txt`, `docs/onboarding/QUICKSTART-MAINTAINER.adoc`,
`docs/RSR_OUTLINE.adoc`; replaced the `Palimpsest-MPL-1.0`/`Palimpsest`
badge images in `RSR_OUTLINE.adoc` with a plain MPL-2.0 badge.
- **Deleted** `docs/legal/EXHIBIT-A-ETHICAL-USE.txt` and
`docs/legal/EXHIBIT-B-QUANTUM-SAFE.txt` — both files are exhibits *of*
"Palimpsest-MPL License Version 1.0" (their own title line), i.e. full
PMPL licence-body artifacts, not MPL-2.0 content. Exhibit A is a
"Palimpsest Stewardship Council" ethical-use framework; Exhibit B is a
quantum-safe-provenance crypto spec that's largely licence-independent
in substance — if the crypto-provenance spec itself is wanted, it can be
resurrected as a standalone (non-licence-exhibit) doc. Also dropped the
two corresponding rows from the `RSR_OUTLINE.adoc` file-table.
- `docs/STATE-VISUALIZER.adoc`: "PMPL & Ethical use verified" → "MPL-2.0
licence verified" (the Ethical-use exhibit no longer exists).
- `docs/practice/ci-cost-reduction.adoc`: dropped the stale comment
"(MPL-2.0 is automatic legal fallback until PMPL is formally
recognised)" — MPL-2.0 is simply the licence now, not a fallback.
- `.well-known/ai.txt`: dropped the operative line "AI agents must
preserve Emotional Lineage per PMPL Section 3" — an active directive
citing a section of a licence being retired, not historical prose.
- `.machine_readable/self-validating/examples/setup-repo.k9.ncl`: the
`add-license` example step described "Add PMPL-1.0 license" and fetched
from `https://raw.githubusercontent.com/hyperpolymath/pmpl/main/LICENSE`
— `hyperpolymath/pmpl` does not exist. Changed to "Add MPL-2.0 license"
fetching `https://www.mozilla.org/media/MPL/2.0/index.txt`.
## Survivors (deliberately left untouched)
- `.github/workflows/rhodibot.yml` (lines 9, 90) — hard constraint: no
edits under `.github/workflows/`. **Flagging this prominently**: this
workflow actively rewrites dotfile SPDX headers *from* AGPL *to* PMPL —
it is a live re-contamination vector for this migration and needs a
separate fix under the lockfile/workflow contract.
- `.machine_readable/6a2/AGENTIC.a2ml:29` — "...Rule 2 names the PMPL
register" documents a licence-policy rule by name (per
`standards/LICENCE-POLICY.adoc`), it does not instruct applying PMPL.
Left as-is.
- The two `palimpsest` occurrences inside the new gate lines themselves
(`Trustfile.a2ml`, `contractile.just`) — that's the negative-guard
string (`! grep -qi palimpsest LICENSE`), working as intended.
## Gate status
- `trust-license-content` gate verified manually: `grep -qiE '...'
LICENSE && ! grep -qi palimpsest LICENSE` exits 0 against this repo's
`LICENSE` (canonical MPL-2.0 text, no "palimpsest").
- `just --evaluate` does **not** parse on this repo's root `Justfile`
(pre-existing, unrelated: `error: recipe 'guix-shell' first defined on
line 489 is redefined on line 497`). Not touched by this PR; noted per
instructions rather than fixed here.
## Note (out of scope, not part of this migration)
`build/just/validate.just`'s `validate-rsr` recipe checks for
`licensing/exhibits/EXHIBIT-A-ETHICAL-USE.txt` /
`EXHIBIT-B-QUANTUM-SAFE.txt` / `licensing/texts/MPL-2.0.txt` under a
`licensing/` directory that doesn't exist anywhere in this repo (the
actual exhibits lived under `docs/legal/`, now deleted). This check was
already broken/pointing at a non-existent path before this PR —
pre-existing template inconsistency, not a palimpsest/pmpl hit, left
alone.
Post-edit re-grep of the whole clone for `palimpsest|pmpl`
(case-insensitive) shows only the survivors listed above.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>1 parent 78a847c commit 2804dd5
12 files changed
Lines changed: 11 additions & 192 deletions
File tree
- .machine_readable
- contractiles
- self-validating/examples
- .well-known
- build
- just
- docs
- legal
- onboarding
- practice
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
| 57 | + | |
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| |||
Lines changed: 4 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
133 | | - | |
| 133 | + | |
134 | 134 | | |
135 | | - | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
136 | 138 | | |
137 | 139 | | |
138 | 140 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | 13 | | |
15 | 14 | | |
16 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | 22 | | |
26 | 23 | | |
27 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
| 83 | + | |
90 | 84 | | |
91 | 85 | | |
92 | 86 | | |
| |||
193 | 187 | | |
194 | 188 | | |
195 | 189 | | |
196 | | - | |
197 | | - | |
198 | 190 | | |
199 | 191 | | |
200 | 192 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | | - | |
| 92 | + | |
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
| |||
This file was deleted.
This file was deleted.
0 commit comments