fix(license): revert #81 + sweep stray PMPL→MPL stamps (corrects mis-merge)#102
Merged
Merged
Conversation
)" This reverts commit 6269ccb.
Per the 2026-06-02 owner directive reinforcing the canonical estate license policy (feedback_estate_license_policy_umbrella memory): PMPL-1.0-or-later is reserved EXCLUSIVELY for the three palimpsest carve-out repos: palimpsest-license, palimpsest-plasma, consent-aware-http (latter prospectively only). Neurophone is an owner-sole repo and per the canonical 5-way matrix MUST be MPL-2.0 throughout. This commit completes the cleanup begun by the prior revert of #81 (which had gone the WRONG direction, normalising MPL TO PMPL). Scope of this commit: - 117 files with SPDX-License-Identifier: PMPL-1.0-or-later → MPL-2.0 - 1 file (CONTRIBUTING.adoc) with invalid 'MPL-2.0-or-later' → 'MPL-2.0' Excluded from sweep (legitimate references retained): - LICENSES/PMPL-1.0-or-later.txt (the license-text file itself) - NOTICE (governance prose, restored to pre-#81 state by the revert commit) - PALIMPSEST.adoc (concept doc retained; only its own SPDX header swept) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Signed-off-by: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com>
hyperpolymath
enabled auto-merge (squash)
June 2, 2026 10:37
2 tasks
hyperpolymath
added a commit
that referenced
this pull request
Jun 2, 2026
… PMPL.txt (#118) ## Summary Completes the PMPL→MPL-2.0 cleanup started in #102. After #102 landed, PR #106 added 5 new property-test files with stray \`PMPL-1.0-or-later\` SPDX headers — same drift pattern. Also NOTICE still asserted PMPL governance with the OLD "MPL is just a compat shim" framing that the 2026-06-02 owner directive explicitly supersedes. ## Changes (8 files) - 5 .rs property-test files: SPDX header \`PMPL-1.0-or-later\` → \`MPL-2.0\` - \`crates/lsm/tests/proptest_numeric.rs\` - \`crates/lsm/tests/proptest_bounds.rs\` - \`crates/sensors/tests/proptest_numeric.rs\` - \`crates/esn/tests/proptest_numeric.rs\` - \`crates/bridge/tests/proptest_soundness.rs\` - \`proofs/affine/README.adoc\`: same SPDX fix - \`NOTICE\`: rewritten to plain MPL-2.0 statement (drops Palimpsest narrative + the misleading "MPL is just a compat shim" claim) - \`LICENSES/PMPL-1.0-or-later.txt\`: deleted (orphan after this commit) ## Verification \`\`\` grep -rln 'SPDX-License-Identifier:.*PMPL\|MPL.*or-later' . → zero matches outside .git/ \`\`\` ## Test plan - [ ] Governance / Licence consistency green - [ ] No CI regression vs pre-PR baseline 🤖 Generated with [Claude Code](https://claude.com/claude-code) Signed-off-by: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced Jun 2, 2026
hyperpolymath
added a commit
to hyperpolymath/developer-ecosystem
that referenced
this pull request
Jun 2, 2026
…nfra) (#103) ## Summary First in a series of per-subdir PRs to bring developer-ecosystem source SPDX into alignment with the canonical 2026-06-02 estate license policy (sole-owner repos default `MPL-2.0`). Repo state today: - LICENSE: MPL-2.0 ✓ - deno.json: `license: "MPL-2.0"` ✓ - Source SPDX: **11,758 files still carry legacy `PMPL-1.0-or-later` SPDX stamps** from the pre-#77 owner-carve-out era — that policy was superseded by the 2026-06-02 directive. ## Phase 1 scope (this PR) **69 files** flipped `PMPL-1.0-or-later` → `MPL-2.0`: | Area | Files | |---|---| | Repo root | 20 | | `.github/` | 9 | | `.machine_readable/` | 29 | | `docs/`, `tests/`, `hooks/`, `contractiles/`, `ffi/`, `.well-known/`, `shellstate/` | 15 | ## Explicitly EXCLUDED from this PR To stay scoped + reviewable, this PR does NOT touch: - **Submodule subtrees**: `v-ecosystem/v-{graphql,grpc,rest}/`, `satellites/*`, `julia-ecosystem/`, `scaffoldia/` — separate repos, get their own PRs. - **`rescript-ecosystem/rescript-tea/`** — possible upstream ReScript-Tea fork. Estate policy: leave third-party alone. - **`rescript-ecosystem/idaptik-rescript13-staging/`** — AGPL inheritance from son-shared idaptik repo. - **`affinescript-ecosystem/affinescript-vite/`** — possible upstream fork. - **All other top-level subdirs** — `iser-tools/`, `rescript-ecosystem/`, `asdf-augmenters/`, `affinescript-ecosystem/`, and ~20 smaller sub-ecosystems — each gets its own per-subdir PR. ## Pattern this PR follows Same shape as `hyperpolymath/neurophone#102` (the canonical PMPL→MPL fix), just narrower scope. ## Verification ```sh # In Phase 1 scope: grep -rl 'SPDX-License-Identifier: PMPL-1.0-or-later' <phase-1-paths> # returns: 0 files grep -rl 'SPDX-License-Identifier: MPL-2.0$' <phase-1-paths> # returns: 68 files (PALIMPSEST.adoc retains 1 PMPL string in prose, correctly) ``` ## Why draft License sweep aftermath; owner sight on the per-subdir approach before extending to Phase 2/3 PRs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath
added a commit
to hyperpolymath/standards
that referenced
this pull request
Jun 2, 2026
…#344) ## Summary First in a per-subdir series for standards PMPL→**AGPL-3.0-or-later** source-SPDX alignment. **Note the direction**: standards is category 3 (son-shared per [[standards-agpl-intentional]]), so source SPDX flips to `AGPL-3.0-or-later`, **not** MPL-2.0 (which is the sole-owner default for repos like dev-ecosystem and neurophone). ## Repo state confirmed - Root LICENSE: AGPL-3.0-or-later ✓ - Source SPDX: 3,553 files carry `PMPL-1.0-or-later` from legacy carve-out era - consent-aware-http subdir has its own special hybrid (MPL-2.0 source + CC-BY-4.0 spec + PMPL-2.0-or-later reference) — EXCLUDED from this PR ## Phase 1 scope (this PR) **700 files** flipped `PMPL-1.0-or-later` → `AGPL-3.0-or-later`: | Area | Files | |---|---| | Repo root | 28 | | `docs/` | 319 | | `.machine_readable/` | 57 | | ~30 small subdirs with no own LICENSE (meta-a2ml, session-management-standards, agentic-a2ml, anchor-a2ml, k9-coordination-protocol, standards-update, scripts, state-a2ml, ecosystem-a2ml, playbook-a2ml, neurosym-a2ml, toolchain-readiness-grades, overlay-protocol, a2ml-templates, .verisimdb, inline-annotations, hooks, launcher, contractiles, adoption-readiness-grades, panll-panels, hypatia-rules, foundations-readiness-grades, component-readiness-grades, publication-pre-flight, ensaid-config, ai-instruction, tasks, standards, release-pre-flight, tools, testing-and-benchmarking, .meta, immaculate-guide, .github, accessibility) | ~296 | ## Explicitly EXCLUDED | Path | Reason | Files | |---|---|---| | `a2ml/` | Own PMPL LICENSE — Phase 2 (LICENSE+SPDX to AGPL combined) | 1,171 | | `k9-svc/` | Own PMPL LICENSE — Phase 2 | 1,160 | | `rhodium-standard-repositories/` | Own PMPL LICENSE — Phase 2 | 122 | | `0-ai-gatekeeper-protocol/` | Own PMPL LICENSE — Phase 2 | 107 | | `lol/` | Own PMPL LICENSE — Phase 2 | 105 | | `avow-protocol/` | Own PMPL LICENSE + check-in copy of standalone `hyperpolymath/avow-protocol` — skip (fix in standalone) | 90 | | `axel-protocol/` | Own PMPL LICENSE — Phase 2 | 49 | | `consent-aware-http/` | **Special hybrid** licensing (MPL-2.0 src + CC-BY-4.0 spec + PMPL-2.0-or-later ref) per owner directive 2026-06-02 | 39 | | `outreach/` | Own LICENSE — Phase 2 review | 10 | ## Pattern this PR follows - `hyperpolymath/neurophone#102` for SPDX-flip mechanics - `hyperpolymath/developer-ecosystem#103/#105` for per-subdir scoping - **First time** the destination is AGPL not MPL — be aware ## Verification ```sh grep -rl 'SPDX-License-Identifier: PMPL-1.0-or-later' <phase-1-paths> # returns: 0 files ``` ## Why draft License sweep + first-of-kind AGPL destination; owner sight before merge. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath
added a commit
that referenced
this pull request
Jun 2, 2026
…affolding (follow-up to #102) (#120) ## Summary Restores the 8 docs+proofs files that PR #81 added but #102 had to drop while reverting #81's wrong-direction license change. Per #102's PR body: > "Reverting #81 also dropped 4 new docs + proofs/ scaffolding... These can be reintroduced cleanly in a separate, license-free PR after this lands." This is that PR. ## Files (all NEW, no edits to existing content) | File | Purpose | |---|---| | `docs/architecture.adoc` | LSM/ESN/bridge architecture (149 lines) | | `docs/build.adoc` | Build instructions (72 lines) | | `docs/installation.adoc` | Installation guide pointed-to by README (113 lines) | | `docs/usage.adoc` | Usage docs (41 lines) | | `proofs/README.adoc` | Proof corpus index | | `proofs/dafny/README.adoc` | Dafny/F* proofs subdirectory | | `proofs/lean/README.adoc` | Lean/Coq proofs subdirectory | | `proofs/tla/Lifecycle.tla` | TLA+ lifecycle obligation 2.1 (issue #84) | ## Licensing All 8 files carry \`SPDX-License-Identifier: MPL-2.0\` per the canonical estate license policy (neurophone = sole-owner repo). #81 had originally added these with PMPL stamps; this PR adds them with the correct MPL-2.0 SPDX from the start. ## Verification \`\`\`sh grep -r 'SPDX-License-Identifier' docs/architecture.adoc docs/build.adoc \\ docs/installation.adoc docs/usage.adoc proofs/ \`\`\` All 8 files report \`MPL-2.0\`. ## Test plan - [ ] CI green (no new SPDX violations) - [ ] Files render correctly (asciidoctor + TLA+ syntax) - [ ] \`docs/installation.adoc\` link from README.adoc resolves ## Why draft License sweep aftermath; owner sight on docs reintroduction before flipping to ready. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath
added a commit
to hyperpolymath/developer-ecosystem
that referenced
this pull request
Jun 2, 2026
#104) ## Summary Phase 2 of the developer-ecosystem PMPL→MPL-2.0 sweep (Phase 1 = #103). This PR covers the `iser-tools/` subtree as a single batch per the per-subdir scoping plan. ## Scope **5,039 files** flipped `SPDX-License-Identifier: PMPL-1.0-or-later` → `MPL-2.0` across 23 `*iser/` subdirs: | Subdir | Files | |---|---| | `iser-tools/nimiser/` | 225 | | `iser-tools/ponyiser/`, `iser-tools/otpiser/`, `iser-tools/oblibeniser/`, `iser-tools/iseriser/`, `iser-tools/idrisiser/` | 222 each | | `iser-tools/wokelangiser/`, `iser-tools/mylangiser/`, `iser-tools/lustreiser/`, `iser-tools/julianiser/` | 221 each | | `iser-tools/tlaiser/`, `iser-tools/halideiser/` | 220 each | | `iser-tools/phronesiser/` | 219 | | `iser-tools/ephapaxiser/`, `iser-tools/chapeliser/`, `iser-tools/bqniser/` | 217 each | | `iser-tools/eclexiaiser/`, `iser-tools/dafniser/`, `iser-tools/betlangiser/`, `iser-tools/atsiser/`, `iser-tools/anvomidaviser/` | 216 each | | `iser-tools/futharkiser/`, `iser-tools/alloyiser/` | 215 each | ## Verification - Each `iser-tools/*/LICENSE` is already MPL-2.0 ✓ — only the source-file SPDX stamps were drifting. - These are check-in copies (NOT git submodules — verified, no `.gitmodules` entries for `iser-tools/`). - `grep -rl 'SPDX-License-Identifier: PMPL-1.0-or-later' iser-tools/` returns **0 files** post-sweep. ## Coordination note The standalone `hyperpolymath/*iser` repos (`nimiser`, `ponyiser`, `idrisiser`, `iseriser`, `anvomidaviser`, `otpiser`, etc.) exist as separate repos in the org and **all still have PMPL source SPDX drift today**. Each will need its own equivalent flip PR (separate work). If `iser-tools/` is auto-regenerated from those, the changes here will revert on next sync — flag for owner: which is the source of truth? ## Why draft Single PR with 5,039 files changed (uniform SPDX header flip); owner sight on diff size before merge. ## Same pattern as - `hyperpolymath/neurophone#102` (canonical PMPL→MPL fix) - `#103` (Phase 1: root + small infra) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath
added a commit
that referenced
this pull request
Jun 6, 2026
## Consolidation: fix the one real CI red + a stale licence badge ### `rust-ci` — the only foundational CI failure on `main` `rust-ci.yml` pinned the estate reusable at SHA `cc5a372…`, which is **stale** (the `standards` rust-ci-reusable moved). The run failed at **startup with 0 jobs** on `main` — not a Rust code failure (the workspace is green locally and via #106). Re-pinned to `@main`, matching the working `governance.yml`. Once `standards` publishes a verified SHA, this should be re-pinned (ideally by estate propagation). ### README licence badge The top badge still read **`License: PMPL-1.0`**; the repo is **MPL-2.0** (`Cargo.toml`, `LICENSE`, all SPDX headers, post-#102/#118). Corrected to MPL-2.0. The *Palimpsest philosophy* badge is intentional estate identity and left untouched. ### Context / non-goals - The two perpetual Kotlin reds are already resolved on `main` (carve-out #105 + `.hypatia-baseline.json`); `Language Policy` and `Governance` are green. - Other reds (Instant Sync, Mirror, Scorecard) are infrastructure/external-forge/token issues, out of scope here. - Other PMPL/Palimpsest *philosophy* mentions (`PALIMPSEST.adoc`, citations, governance audit) are deliberate and untouched — licence/philosophy is owner territory. Merging once CI (esp. `rust-ci`) is green. https://claude.ai/code/session_01Gu1JFCZHuBtBhAWPr4sMQw --- _Generated by [Claude Code](https://claude.ai/code/session_01Gu1JFCZHuBtBhAWPr4sMQw)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
hyperpolymath
added a commit
that referenced
this pull request
Jul 1, 2026
…OVERNANCE.adoc (#160) ## Summary Documentation-correctness + RSR-compliance follow-up (after merged #158). - **chore(licence): PMPL-1.0 → MPL-2.0 drift correction (owner-approved).** neurophone is a sole-owner MPL-2.0 repo (licence reverted from PMPL in #102/#118 per HANDOVER), but several *functional* declarations still read PMPL. Corrected README badge/body, `META.a2ml`/`stapeln.toml` licence fields, `AGENTIC.a2ml`, `0-AI-MANIFEST.a2ml`, `QUICKSTART-MAINTAINER.adoc`, `llm-warmup-{dev,user}.md`. **Deliberately not touched** (owner territory): `PALIMPSEST.adoc`, `docs/CITATIONS.adoc`, `docs/governance/*`, `LICENSES/*.txt`, and the README Palimpsest-*philosophy* badge. Docs stay CC-BY-SA-4.0. - **docs: refresh stale `.claude/CLAUDE.md` language policy** — drop the removed Python/SaltStack allowance and the Nix fallback (Guix-only); Rust→Rust/SPARK; add Zig/Idris2; add ReScript/V-lang/ATS2/Nix/Makefiles to BANNED. - **docs: correct `STATE.a2ml`** — the neural crates were mislabelled "stub" but carry real code + property suites; neurophone-android is now the full JNI surface. Records 160 tests, clippy/fmt/TLC clean, a `[proofs]` block, and honest external `[blockers]`. - **docs: dedup CONTRIBUTING** — removed the 402-byte `.adoc` stub (estate keeps the GitHub-required `.md`; nothing referenced the `.adoc`). - **docs(rsr): add `GOVERNANCE.adoc`** (was missing at root) and mark the JNI surface audit as implemented by #110. No code changes; docs/config only. (Prior branch verification stands: 160 tests, clippy `-D warnings` clean, fmt clean.) ## FLAGS (unchanged) - `gossamer` + `conative-gating` remain 403-blocked → #83 / #103 staged. - Owner fills the Trustfile `{{PLACEHOLDER}}` crypto at signing time. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_0172RBMz3qYjb1ttzD2i7RNh --- _Generated by [Claude Code](https://claude.ai/code/session_0172RBMz3qYjb1ttzD2i7RNh)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Restores neurophone to MPL-2.0 throughout, per the canonical estate license policy (owner directive 2026-06-02, [memory: feedback_estate_license_policy_umbrella]).
Two commits:
chore(license): normalize SPDX headers to PMPL-1.0-or-laterwas admin-merged in the 2026-06-02 estate sweep by mistake. It went the wrong direction (MPL→PMPL) and also conflated SPDX changes with adding new docs/proofs scaffolding. The revert restores: pre-chore(license): normalize SPDX headers to PMPL-1.0-or-later #81 LICENSE text + LICENSES/MPL-2.0.txt + NOTICE + 19 SPDX flips.SPDX-License-Identifier: PMPL-1.0-or-laterfrom before chore(license): normalize SPDX headers to PMPL-1.0-or-later #81 (canonical-memory-documented drift across.kt, AndroidManifest,.shhooks,.machine_readable/,.github/workflows/, crates). Also normalises 1 invalidMPL-2.0-or-lateridentifier (CONTRIBUTING.adoc) toMPL-2.0.Why
Per the canonical 5-way license matrix (estate-license-policy-umbrella memory):
PMPL in neurophone violates the matrix. Owner directive 2026-06-02 reinforced this explicitly.
Excluded from sweep
LICENSES/PMPL-1.0-or-later.txt— the PMPL license-text file itself (legitimate reference, restored by revert)NOTICE— governance prose, restored to pre-chore(license): normalize SPDX headers to PMPL-1.0-or-later #81 state by revertPALIMPSEST.adoc— concept doc retained (only its own SPDX header swept to MPL-2.0)Cost of mis-merge — what was lost (and how to recover)
Reverting #81 also dropped 4 new docs + proofs/ scaffolding that the PR had bundled in:
These can be reintroduced cleanly in a separate, license-free PR after this lands. They were not retained in this PR to keep scope tight (license correction only).
Test plan
🤖 Generated with Claude Code