Follow-up to #75 / #77 (metadata relicense). The repo-licence declarations (LICENSE + toml/json) are converted to MPL-2.0 in #77. This issue tracks the source-file headers and PMPL drift, which were held back because they're not trivial.
AGPL-3.0-or-later SPDX headers to convert → MPL-2.0 (18 files)
src/ui/tea/:
src/ui/tea/panll_gui.affine
src/ui/tea/panll_tea.js
migration/ (16):
migration/modules/{CloudGuard,Farm,LanguageForge,MassPanic,PanicAttack,Plaza,ServiceEndpoints,SpecBrowser,TangleViz,Tsdm,VerificationDashboard}Module.affine
migration/modules/STATUS.md
migration/msg/{Feedback,Orbital,VideoCoordination}Msg.affine
PMPL drift to reconcile → MPL-2.0
.claude/CLAUDE.md (header # SPDX-License-Identifier: PMPL-1.0-or-later + "## License: PMPL-1.0-or-later on all original source files")
tools/pcc/Cargo.toml (header comment line 1 = PMPL)
.machine_readable/6a2/AGENTIC.a2ml and panel-clades/.machine_readable/6a2/AGENTIC.a2ml ("use PMPL-1.0-or-later")
Why this isn't trivial / blockers to handle
- Pre-commit hook (
.git/hooks/pre-commit) requires, for OWNED repos, that every staged file with extension zig|ex|idr|eph|py|js|ts|rs|c|h|adoc|md contain BOTH SPDX-License-Identifier: MPL-2.0 AND the owner string Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>. So STATUS.md and panll_tea.js will need owner-attribution lines added — decide the canonical header format first.
.affine files are not hook-checked but should still be made consistent.
.claude/CLAUDE.md is under a standing "do-not-touch in sweeps / ask-first" directive — needs explicit owner sign-off before editing.
- Determine
migration/'s status — is it active original source (→ MPL) or transitional/vendored content? Confirm before sweeping.
- Leave functional AGPL references alone (the
AttributionLicenseEngine/PlazaEngine code and deny.toml lists that analyse licence strings, and the anti-AGPL policy text in panel-clades).
Do as a manual, file-by-file, owner-reviewed change (no bulk auto-sweep), per estate licence policy.
Follow-up to #75 / #77 (metadata relicense). The repo-licence declarations (LICENSE + toml/json) are converted to MPL-2.0 in #77. This issue tracks the source-file headers and PMPL drift, which were held back because they're not trivial.
AGPL-3.0-or-later SPDX headers to convert → MPL-2.0 (18 files)
src/ui/tea/:src/ui/tea/panll_gui.affinesrc/ui/tea/panll_tea.jsmigration/(16):migration/modules/{CloudGuard,Farm,LanguageForge,MassPanic,PanicAttack,Plaza,ServiceEndpoints,SpecBrowser,TangleViz,Tsdm,VerificationDashboard}Module.affinemigration/modules/STATUS.mdmigration/msg/{Feedback,Orbital,VideoCoordination}Msg.affinePMPL drift to reconcile → MPL-2.0
.claude/CLAUDE.md(header# SPDX-License-Identifier: PMPL-1.0-or-later+ "## License: PMPL-1.0-or-later on all original source files")tools/pcc/Cargo.toml(header comment line 1 = PMPL).machine_readable/6a2/AGENTIC.a2mlandpanel-clades/.machine_readable/6a2/AGENTIC.a2ml("use PMPL-1.0-or-later")Why this isn't trivial / blockers to handle
.git/hooks/pre-commit) requires, for OWNED repos, that every staged file with extensionzig|ex|idr|eph|py|js|ts|rs|c|h|adoc|mdcontain BOTHSPDX-License-Identifier: MPL-2.0AND the owner stringJonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>. SoSTATUS.mdandpanll_tea.jswill need owner-attribution lines added — decide the canonical header format first..affinefiles are not hook-checked but should still be made consistent..claude/CLAUDE.mdis under a standing "do-not-touch in sweeps / ask-first" directive — needs explicit owner sign-off before editing.migration/'s status — is it active original source (→ MPL) or transitional/vendored content? Confirm before sweeping.AttributionLicenseEngine/PlazaEnginecode anddeny.tomllists that analyse licence strings, and the anti-AGPL policy text inpanel-clades).Do as a manual, file-by-file, owner-reviewed change (no bulk auto-sweep), per estate licence policy.