From 13464be1c2d2ec4fa3049e1616bd307f70b6d609 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 4 Jul 2026 00:16:32 +0000 Subject: [PATCH] feat: register METAPAT as first FLAR bundle member; ratify naming-migration scheme - _REGISTRY gains 'metapat' -> 'metapat' under a new first-letter acronym (FLAR) section; no extra per dependency policy (not yet on PyPI) - libs/metapat/ documentation stub; libs/README.md index row + naming note - docs/naming-migration.md: ratified org rename scheme (PTCA->pcsa, casing normalization, ucns frozen per DOI, a0 shuffle) with sequencing and the extras/registry transition rules - ZFAE reclassified as conceptual-only (runtime lives in a0; no dist planned) in libs index and CLAUDE.md - drift-guard test: metapat registered, boolean probe, and absent from pyproject extras until a stable release exists Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_0194nRKbG5bkbxmu1q1s156Y --- CHANGELOG.md | 13 +++++++ CLAUDE.md | 10 ++++-- docs/naming-migration.md | 59 ++++++++++++++++++++++++++++++++ interdependent_lib/__init__.py | 2 ++ libs/README.md | 8 ++++- libs/metapat/README.md | 46 +++++++++++++++++++++++++ tests/test_interdependent_lib.py | 13 ++++++- 7 files changed, 147 insertions(+), 4 deletions(-) create mode 100644 docs/naming-migration.md create mode 100644 libs/metapat/README.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fd052a..a9e8543 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,8 +17,21 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm (back-propagation lives only in PCNA) and marks unsettled specifics `hmmm`. - `libs/pcta/` stub for the forthcoming PCTA seed layer (no repo/package yet; documented only, not registered in `_REGISTRY`). +- **METAPAT joins the bundle as the first FLAR (first-letter acronym repo)**: + `_REGISTRY["metapat"]` → import name `metapat` (package-unique target exists + upstream in `The-Interdependency/METAPAT` `src/metapat/`), `libs/metapat/` + documentation stub, and a drift-guard test asserting no extra appears before + a stable PyPI release. +- `docs/naming-migration.md` — ratified org-wide rename scheme: lowercase-hyphen + convention; `ucns` frozen (DOI-minted); `PTCA → pcsa` (new dist supersedes + `ptca-lib`); casing-only renames for `PCEA`/`ZFAE`/`METAPAT`; `eml_ucns → + eml-ucns`; a0 name shuffle. Includes sequencing and the extras/registry + transition rules for this repo. ### Notes +- ZFAE is confirmed **conceptual-only** (its runtime lives in `a0`); it stays a + source-only registry key with no dist planned. `libs/README.md` updated to + reflect this. - A `prime-stack` extra bundling `{pcna, pcta, ptca}` is intended but **not** added yet — per repo policy, libraries enter `[project.optional-dependencies]` only after a stable PyPI release (today only `ptca-lib` qualifies). diff --git a/CLAUDE.md b/CLAUDE.md index 06c44f0..a3d493d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -32,14 +32,20 @@ Verified against `[project.optional-dependencies]` in `pyproject.toml`. | AIMMH | `aimmh-lib>=1.1.0`| `aimmh` | Packaged | AI Multimodel Multimodal Hub (five-letter) | | PCNA | — | — | Source-only (not on PyPI) | Prime Circle Neural Architecture (stack layer 1: tensors → circles, backprop) | | PCTA | — | — | Repo created; not yet on PyPI | Prime Circled Tensor Architecture (stack layer 2: circles → seeds); see `docs/prime-tensor-stack.md` | -| ZFAE | — | — | Source-only (not on PyPI) | Zeta Function Alpha Echo (inference engine) | +| ZFAE | — | — | Conceptual (runtime lives in `a0`; no dist planned) | Zeta Function Alpha Echo (inference engine) | +| METAPAT | — | — | FLAR; registered, not yet on PyPI | Meta Energy Theory — Axioms, Postulates, And Theorems (first-letter acronym repo; canon + unpublished `metapat` 0.0.1 src-layout package) | PCNA, PCTA, PTCA and ZFAE form one compute stack (PCEA is the orthogonal guardian) — the canonical role-and-boundary map is `docs/prime-tensor-stack.md`. PCTA now has a repo (`The-Interdependency/pcta`) but is not yet published; unlike PCNA/ZFAE it is **not** in `_REGISTRY` and has no extra until it ships to PyPI. -The `all` extra installs the four packaged libraries together. `dev` installs `pytest>=8.0`, `build`, and `twine`. PCNA and ZFAE appear in `available()` and `libs/` but have no extra until they have stable PyPI releases. +The `all` extra installs the four packaged libraries together. `dev` installs `pytest>=8.0`, `build`, and `twine`. PCNA, ZFAE, and METAPAT appear in `available()` and `libs/` but have no extra until they have stable PyPI releases. + +> **Naming migration.** The org-wide rename scheme (`PTCA → pcsa`, casing +> normalization, `ucns` frozen) is ratified — `docs/naming-migration.md` is the +> reference, including the extras/registry transition rules. Names above track +> what is published/importable today. --- diff --git a/docs/naming-migration.md b/docs/naming-migration.md new file mode 100644 index 0000000..97fadf3 --- /dev/null +++ b/docs/naming-migration.md @@ -0,0 +1,59 @@ +# Naming Migration — Ratified Scheme + +Ratified by the maintainer (2026-07-04), while nothing external depends on these +names. This is the single reference for the org-wide repo/dist/import renames. +GitHub redirects renamed repo URLs; **nothing redirects import paths or PyPI +dist names**, so everything here must land before any dist pins the old names. + +## Convention + +Lowercase-hyphen everywhere for repo names; lowercase for import names. PyPI +normalizes dist names to lowercase anyway. + +## The scheme + +| Current | New | Kind | Notes | +|---|---|---|---| +| `ucns` | `ucns` | **frozen** | DOI-minted (10.5281/zenodo.20665340); renaming breaks the Zenodo↔GitHub link. Do not rename. | +| `pcna` | `pcna` | keep | neural — leaf (stack layer 1) | +| `pcta` | `pcta` | keep | tensor — circle stratum (stack layer 2) | +| `PTCA` | **`pcsa`** | **rename + new dist** | seed — core stratum (stack layer 3). "Seed" names what the layer *is*; kills the one-keystroke `pcta`/`ptca` collision. PyPI: publish new dist `pcsa`; abandon `ptca-lib` (never re-release). | +| `PCEA` | `pcea` | casing only | encryption — orthogonal guardian | +| `ZFAE` | `zfae` | casing only | conceptual/doctrine repo; runtime lives in `a0` — no dist planned | +| `METAPAT` | `metapat` | casing only | FLAR canon repo; unpublished `metapat` 0.0.1 package exists upstream | +| `eml_ucns` | `eml-ucns` | punctuation | or archive if defunct | +| `a0` (old) | *(renamed aside)* | free the name | then `a0-betatest` → `a0` | + +Result for the quartet: four P-C-\_-A tokens (`pcna`, `pcta`, `pcsa`, `pcea`), +unique meaningful middle letter, zero transpositions, uniform casing. + +## Sequencing + +1. Casing-only renames first (`PCEA`, `ZFAE`, `METAPAT`, `eml_ucns`) — lowest risk. +2. Free the `a0` name, then `a0-betatest` → `a0`. +3. `PTCA` → `pcsa` **last** — it rewrites import paths and requires a new PyPI dist. + +Repo renames are maintainer clicks in GitHub Settings; they cannot be performed +via the API access available to org agents. + +## Transition rules for this repo + +- The `ptca` extra keeps pinning `ptca-lib>=0.1.0` (the published dist) until + `pcsa` ships to PyPI. When it does: add a `pcsa` extra, update `all`, keep + `ptca` as a deprecated alias for one minor release, then drop it. +- `_REGISTRY` keeps key `ptca` → import `ptca` until the upstream import name + changes; then key `pcsa` → import `pcsa` (keep `ptca` key reporting `False` + during the deprecation window only if anything still asks for it). +- `docs/prime-tensor-stack.md`, `libs/ptca/`, and the README/CLAUDE tables get + swept to `pcsa` in the same change that adds the `pcsa` extra — not before, + so docs never reference a dist that does not exist. +- PCNA's `core/ptca_core.py` (seeds → core consumer) is inside the rename blast + radius and is renamed during the PCNA `core/` → `pcna/` packaging pass. + +## Open (hmmm) + +- `edcmbone` reconciliation: standalone repo vs canon's "subpackage of + interdependent-lib". Either absorb + archive, or keep as dev-home and never + publish it as its own dist. Unresolved. +- Dev-side shadows (`erinepshovel-code`: `UnitCircle`, `EDCM`, + `Interdependent-core`) need dev-mirror labels or reconciliation. diff --git a/interdependent_lib/__init__.py b/interdependent_lib/__init__.py index 2089195..5d8d403 100644 --- a/interdependent_lib/__init__.py +++ b/interdependent_lib/__init__.py @@ -43,6 +43,8 @@ "zfae": "zfae", # source-only unless installed manually from source # Five-letter acronym libraries "aimmh": "aimmh_lib", + # First-letter acronym libraries (FLAR) + "metapat": "metapat", # Meta Energy Theory — Axioms, Postulates, And Theorems } diff --git a/libs/README.md b/libs/README.md index bf73b7b..e70e7d2 100644 --- a/libs/README.md +++ b/libs/README.md @@ -9,8 +9,14 @@ This directory contains per-library documentation and stub folders for each acro | [ptca/](ptca/README.md) | `ptca` | `ptca-lib` | Prime Tensor Core Architecture — seeds → core (stack layer 3) | | [pcta/](pcta/README.md) | `pcta` | *(not yet on PyPI)* | Prime Circled Tensor Architecture — circles → seeds (stack layer 2); see [prime-tensor stack](../docs/prime-tensor-stack.md) | | [ucns/](ucns/README.md) | `ucns` | `ucns` | Unit Circle Number System | -| [zfae/](zfae/README.md) | `zfae` | *(source-only)* | Zeta Function Alpha Echo | +| [zfae/](zfae/README.md) | `zfae` | *(conceptual — runtime lives in `a0`, no dist planned)* | Zeta Function Alpha Echo | | [aimmh/](aimmh/README.md) | `aimmh_lib` | `aimmh-lib` | AI Multimodel Multimodal Hub | +| [metapat/](metapat/README.md) | `metapat` | *(not yet on PyPI)* | Meta Energy Theory — Axioms, Postulates, And Theorems (FLAR — first-letter acronym repo) | + +> Naming note: the `PTCA → pcsa` rename (and org-wide casing normalization) is +> ratified — see [`docs/naming-migration.md`](../docs/naming-migration.md). Names +> in this table track what is actually published/importable today and are swept +> when each rename lands. --- diff --git a/libs/metapat/README.md b/libs/metapat/README.md new file mode 100644 index 0000000..f2f9c83 --- /dev/null +++ b/libs/metapat/README.md @@ -0,0 +1,46 @@ +# METAPAT — Meta Energy Theory: Axioms, Postulates, And Theorems + +**Source repo:** [The-Interdependency/METAPAT](https://github.com/The-Interdependency/METAPAT) +(rename to lowercase `metapat` ratified — see [`docs/naming-migration.md`](../../docs/naming-migration.md)) +**Language:** Python 3.11+ +**PyPI:** *(not yet published — `metapat` 0.0.1 exists upstream as an unpublished src-layout package)* +**Letters:** FLAR (first-letter acronym repo — each letter opens a word: **M**eta **E**nergy **T**heory **A**xioms **P**ostulates **A**nd **T**heorems) + +--- + +## What it is + +METAPAT is the canonical source for **Meta Energy Theory** — a substrate-independent +ontology of energy-state relation and transformation. It answers *"What questions do +I ask?"* by finding shared question-forms among domains while refusing to let any +domain redefine the root. + +Root spine: + +```text +Legible difference is distinction. +Distinction defines boundaries. +Boundaries define simplex. +Boundary is simplex of distinction. +Simplex holds or modifies energy in a state of being. +``` + +The upstream repo carries the canon (`CHAPTER_ZERO.md`, `AXIOMS.md`, `POSTULATES.md`, +`THEOREMS.md`, `GLOSSARY.md`, `DOMAIN_RESTRAINT.md`) plus an installable `metapat` +package (`src/metapat/`: `canon.py`, `flow_plan.py`, `validation.py`) with executable +theorem contract tests. + +## Status in the bundle + +- Registered in `interdependent_lib._REGISTRY` as `metapat` → import name `metapat` + (a package-unique import target exists upstream). +- **No extra yet** — per `docs/dependency-policy.md`, libraries enter + `[project.optional-dependencies]` only after a stable PyPI release. +- Not synced by `sync-libs.yml` (canon/doctrine repo; the stub here stays authoritative + for bundle-facing documentation). + +## Boundary + +METAPAT is Energy Theory canon, kept distinct from EDCMBONE flesh/bone measurement and +FLAR implementation detail (see skill-lib `meta/` skill). Declaring it here transfers +no theorem/proof status in either direction. diff --git a/tests/test_interdependent_lib.py b/tests/test_interdependent_lib.py index 9b79958..7c429ea 100644 --- a/tests/test_interdependent_lib.py +++ b/tests/test_interdependent_lib.py @@ -33,7 +33,7 @@ def test_available_returns_dict(): result = interdependent_lib.available() assert isinstance(result, dict) # All known sub-libs (PyPI and source-only) must appear as keys. - for key in ("pcea", "ptca", "ucns", "pcna", "zfae", "aimmh"): + for key in ("pcea", "ptca", "ucns", "pcna", "zfae", "aimmh", "metapat"): assert key in result # All values are booleans. for v in result.values(): @@ -45,6 +45,17 @@ def test_pcna_source_only_does_not_probe_generic_core_module(): assert interdependent_lib.available()["pcna"] is False +def test_metapat_registered_with_unique_import_target_and_no_extra(): + """METAPAT (FLAR) is a registry key probing its package-unique import name, + but has no extra until it ships a stable PyPI release (dependency policy).""" + assert interdependent_lib._REGISTRY["metapat"] == "metapat" + assert isinstance(interdependent_lib.available()["metapat"], bool) + text = _pyproject_text() + assert "metapat" not in text, ( + "metapat must not appear in pyproject extras before a stable PyPI release" + ) + + def test_ucns_dependency_floor_is_locked_in_ucns_and_all_extras(): text = _pyproject_text() assert 'ucns = ["ucns>=0.9.1"]' in text