Finding
A 2026-05-30 estate-wide grep shows 12,223 files still carry `SPDX-License-Identifier: PMPL-1.0-or-later` (predecessor estate licence) vs 55,245 files on the target `SPDX-License-Identifier: MPL-2.0`. `MPL-1.0` is already at zero — that conversion completed.
Per estate language policy
Per [[feedback_estate_lang_policy_2026_05_25]] memory:
MPL-1.0/PMPL-1.0 → MPL-2.0
PMPL-1.0 is the predecessor estate licence; MPL-2.0 is the target.
Top hotspots by repo
| Repo |
PMPL-1.0 files |
Notes |
| iser-tools |
1,517 |
Likely all estate-authored |
| .claude (worktrees?) |
1,310 |
Probably ephemeral worktree shadows |
| v-ecosystem |
1,159 |
Vendored upstream V-lang — exempt |
| rescript-ecosystem |
882 |
Vendored upstream ReScript — exempt |
| .github (workflows) |
845 |
Mostly workflow files |
| asdf-augmenters |
820 |
Estate-authored |
| asdf-plugin-collection |
706 |
Estate-authored |
| docs (various) |
495 |
Documentation |
| verification-ecosystem |
453 |
Estate-authored |
| a2ml |
325 |
Estate-authored |
| k9-svc |
293 |
Estate-authored |
| affinescript-ecosystem |
272 |
Estate-authored |
| ... |
... |
... |
Standards repo itself: 2,382 PMPL-1.0 vs 350 MPL-2.0 — the canonical-policy repo is itself ~87% on the predecessor licence.
Scope considerations
- Vendored exclusions:
v-ecosystem, rescript-ecosystem, hyperpolymath-archive/*, linguist, repos-monorepo — these are upstream forks and should keep their original headers per upstream-fidelity policy.
- Realistic remaining scope: ~8,000 files across ~40 estate-authored repos.
- Bulk-replace tractability: Mechanical
sed substitution; per-PR scope = per-repo would be ~40 PRs.
Recommended approach
Phase 1 — standards itself
Convert standards' own files (2,032 estimated after carve-outs). Single large PR or 3-4 smaller PRs split by directory (workflows/, docs/, scripts/, lib/). Establishes the pattern.
Phase 2 — top-10 hotspots
Per-repo PRs for iser-tools, asdf-augmenters, asdf-plugin-collection, verification-ecosystem, a2ml, k9-svc, affinescript-ecosystem, container-stack, etc. Mechanical sed -i 's|PMPL-1.0-or-later|MPL-2.0|' plus header-only MPL-1.0 variants.
Phase 3 — long-tail
Subagent fan-out across remaining repos, paced for rate-limit. ~6-8 hours total.
Out of scope
- Code-level licence changes (just SPDX headers)
- Upstream-vendored content
- Files where PMPL is INTENTIONAL (none currently identified)
Owner decision needed
- (a) Approve Phase 1 (standards itself) now
- (b) Defer — PMPL-1.0-or-later is contractually equivalent to MPL-2.0 in practice; cosmetic
- (c) Trigger full sweep — would consume ~6-8 hours of CI/Actions budget
Refs [[feedback_estate_lang_policy_2026_05_25]] (policy source)
Finding
A 2026-05-30 estate-wide grep shows 12,223 files still carry `SPDX-License-Identifier: PMPL-1.0-or-later` (predecessor estate licence) vs 55,245 files on the target `SPDX-License-Identifier: MPL-2.0`. `MPL-1.0` is already at zero — that conversion completed.
Per estate language policy
Per
[[feedback_estate_lang_policy_2026_05_25]]memory:PMPL-1.0 is the predecessor estate licence; MPL-2.0 is the target.
Top hotspots by repo
Standards repo itself: 2,382 PMPL-1.0 vs 350 MPL-2.0 — the canonical-policy repo is itself ~87% on the predecessor licence.
Scope considerations
v-ecosystem,rescript-ecosystem,hyperpolymath-archive/*,linguist,repos-monorepo— these are upstream forks and should keep their original headers per upstream-fidelity policy.sedsubstitution; per-PR scope = per-repo would be ~40 PRs.Recommended approach
Phase 1 — standards itself
Convert standards' own files (2,032 estimated after carve-outs). Single large PR or 3-4 smaller PRs split by directory (workflows/, docs/, scripts/, lib/). Establishes the pattern.
Phase 2 — top-10 hotspots
Per-repo PRs for iser-tools, asdf-augmenters, asdf-plugin-collection, verification-ecosystem, a2ml, k9-svc, affinescript-ecosystem, container-stack, etc. Mechanical
sed -i 's|PMPL-1.0-or-later|MPL-2.0|'plus header-onlyMPL-1.0variants.Phase 3 — long-tail
Subagent fan-out across remaining repos, paced for rate-limit. ~6-8 hours total.
Out of scope
Owner decision needed
Refs
[[feedback_estate_lang_policy_2026_05_25]](policy source)