Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
2f6edc3
research: pin double-entry adversary evidence
erinepshovel-code Sep 15, 2026
d4b058f
research: repair double-entry adversary standing
erinepshovel-code Sep 15, 2026
f4fe0b1
docs(llms): regenerate from v4 declarations
erinepshovel-code Sep 15, 2026
9ded91e
docs(v4): repair public migration and vocabulary
erinepshovel-code Sep 15, 2026
5726779
docs(v4): rotate operative agent guidance
erinepshovel-code Sep 15, 2026
0ab373e
fix(validation): fail closed on duplicate and missing evidence
erinepshovel-code Sep 15, 2026
4388d4d
test(validation): cover duplicate and missing evidence
erinepshovel-code Sep 15, 2026
db24da1
docs(v4): reconcile claims ledger with adopted canon
erinepshovel-code Sep 15, 2026
b15472d
docs(v4): record adopted rotation without evidence laundering
erinepshovel-code Sep 15, 2026
74565ac
ci(v4): bind llms projection drift to pinned skill runner
erinepshovel-code Sep 15, 2026
0fe6f6f
docs(llms): match canonical generator output
erinepshovel-code Sep 15, 2026
0a9e9ce
fix(canon): rotate v4 identity schema fail closed
erinepshovel-code Sep 15, 2026
ce7b48e
ci(llms): preserve repository name in staged check
erinepshovel-code Sep 15, 2026
8c5fdb4
repair: close v4 wire and projection review gaps
erinepshovel-code Sep 15, 2026
eb6614f
docs: finish operative v4 epoch rotation
erinepshovel-code Sep 15, 2026
101da0e
fix(ucns): rotate adaptation wire fail closed
erinepshovel-code Sep 15, 2026
c462ace
fix(application): rotate v4 wire fail closed
erinepshovel-code Sep 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,21 @@ jobs:
run: python -m pytest -q tests/test_ucns_phi.py
- name: Verify generated msdmd collection
run: python tools/generate_msdmd.py --check
- name: Snapshot METAPAT source for llms drift check
run: |
mkdir -p "$RUNNER_TEMP/metapat"
rsync -a --exclude '.git' --exclude '.ci' ./ "$RUNNER_TEMP/metapat/"
- name: Check out pinned skill-lib llms runner
uses: actions/checkout@v7.0.1
with:
repository: The-Interdependency/skill-lib
ref: c14ee9d500579a4b5d6821f62c9d82ca96e73608
path: .ci/skill-lib
persist-credentials: false
- name: Verify generated llms projection
env:
PYTHONPATH: ${{ github.workspace }}/.ci/skill-lib
run: python -m llms.build --root "$RUNNER_TEMP/metapat" --out llms.txt --check
- name: Verify every canon-bearing file byte identity
run: python -c "from pathlib import Path; import metapat; metapat.assert_canon_files_match(Path('.'))"
- name: Verify packaged root-spine fixture
Expand Down Expand Up @@ -173,6 +188,11 @@ jobs:
from importlib.resources import files
import metapat
assert version("metapat") == metapat.__version__ == "0.8.0"
assert metapat.CANON_IDENTITY_SCHEMA_VERSION == "4.0.0"
assert metapat.MODULE_ENVELOPE_SCHEMA_VERSION == "2.0.0"
assert metapat.APPLICATION_SCHEMA_VERSION == "2.0.0"
assert metapat.UCNS_ADAPTER_VERSION == "2.0.0"
assert metapat.canonical_canon_data()["identity_schema_version"] == "4.0.0"
assert files("metapat").joinpath("py.typed").is_file()
root_fixture = files("metapat").joinpath("fixtures/root-spine-envelope-v4.json")
catalog_fixture = files("metapat").joinpath("fixtures/semantic-module-catalog-v4.json")
Expand Down
48 changes: 33 additions & 15 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,34 @@ description: |
# - No implementation and no application domain owns the root.
#
# id: usage_rules
# content: - Preserve canon text exactly unless a canon change is separately authorized. Treat CANON_VERSION, CANON_FILE_BLOBS, identity schema 2.0.0, and canon_digest() as one complete identity boundary.
# - Do not restore v2 doctrine: Tensor is not primitive in v4; scalar is not state; energy-state is not a root primitive; time is sequential transformation.
# - Use exact v4 catalog module IDs, MetapatModuleEnvelope, MetapatModuleRelation, ApplicationCatalogBinding, MetapatApplicationModule, and current packaged fixtures for semantic authority and provenance.
# - Catalog v4 remains exactly one root, twelve axioms, seven postulates, eight theorems, twelve theories, and forty-three source-declared relations unless a separately authorized rotation changes it.
# - Application modules bind exact catalog identities and preserve domains, transfer/non-transfer statements, evidence requirements, source references, and unresolved hmmm. Root impact and METAPAT, domain, measurement, theorem-transfer, and UCNS-topology validity claims remain false unless separately established by their owning evidence.
# - The actual UCNS adapter defaults to external-provenance. Only explicit canon-bound constitutive-simultaneous authorization may alter semantic meaning; downstream topology verification remains required.
# - Consumers pinned to any prior canon/catalog must fail closed until explicitly migrated to v4 identities. Consumer repositories own their local epoch names.
# - Never turn semantic labels into EDCM metric values or transfer UCNS theorem status. Source modules own CONTRACTS; tests own CHECKS.
# - Generated fixtures, metapat_msdmd.ts, and llms.txt are regenerated from constructors/source blocks; do not hand-maintain them.
# - hmmm: Completeness is never presumed. Later domains may add, split, refine, or falsify current candidates.
# content: - Preserve canon text exactly unless a canon change is separately authorized. Treat CANON_VERSION, CANON_FILE_BLOBS, identity schema 4.0.0, and canon_digest() as one complete identity boundary.
#
# id: usage_rules
# content: - Do not restore v2 doctrine: Tensor is not primitive in v4; scalar is not state; energy-state is not a root primitive; time is sequential transformation.
#
# id: usage_rules
# content: - Use exact v4 catalog module IDs, MetapatModuleEnvelope, MetapatModuleRelation, ApplicationCatalogBinding, MetapatApplicationModule, and current packaged fixtures for semantic authority and provenance.
#
# id: usage_rules
# content: - Catalog v4 remains exactly one root, twelve axioms, seven postulates, eight theorems, twelve theories, and forty-three source-declared relations unless a separately authorized rotation changes it.
#
# id: usage_rules
# content: - Application modules bind exact catalog identities and preserve domains, transfer/non-transfer statements, evidence requirements, source references, and unresolved hmmm. Root impact and METAPAT, domain, measurement, theorem-transfer, and UCNS-topology validity claims remain false unless separately established by their owning evidence.
#
# id: usage_rules
# content: - The actual UCNS adapter defaults to external-provenance. Only explicit canon-bound constitutive-simultaneous authorization may alter semantic meaning; downstream topology verification remains required.
#
# id: usage_rules
# content: - Consumers pinned to any prior canon/catalog, envelope wire, application-module wire, or UCNS adaptation-record wire must fail closed until explicitly migrated to v4 identities and the 2.0.0 envelope, application, and adaptation-record wires. Consumer repositories own their local epoch names.
#
# id: usage_rules
# content: - Never turn semantic labels into EDCM metric values or transfer UCNS theorem status. Source modules own CONTRACTS; tests own CHECKS.
#
# id: usage_rules
# content: - Generated fixtures, metapat_msdmd.ts, and llms.txt are regenerated from constructors/source blocks; do not hand-maintain them.
#
# id: usage_rules
# content: - hmmm: Completeness is never presumed. Later domains may add, split, refine, or falsify current candidates.
# === END LLMS ===

# METAPAT agent entrypoint
Expand Down Expand Up @@ -124,20 +142,20 @@ Do not restore the superseded single arrow `UCNS -> METAPAT -> EDCM`.
- `CANON_VERSION`, `CANON_IDENTITY_SCHEMA_VERSION`, `CANON_FILE_BLOBS`, and `canon_digest()` jointly identify the complete canon surface.
- Run `metapat.assert_canon_files_match(Path('.'))` from repository root.
- Any authorized canon rotation requires explicit versioning, manifest rotation, catalog rotation, application invalidation or migration, documentation, tests, generated artifacts, and consumer epoch consequences.
- Consumers pinned to prior epochs reject v3 until explicitly migrated. Do not alias deprecated semantic IDs to new meanings.
- Consumers pinned to any prior epoch, including v3, reject v4 until explicitly migrated. Do not alias deprecated semantic IDs to new meanings.
- Unknown status is `hmmm`, not guessed closure.

## Semantic envelope

Use `MetapatModuleEnvelope` for cross-repository semantic authority. Preserve schema identity, module identity, canon identity, exact references and statements, constraints, permitted interpretations, unresolved constraints, and provenance digest. Deserialization rejects malformed types rather than coercing them. An envelope contains no calculated EDCM measurements.

The packaged `fixtures/root-spine-envelope-v3.json` must equal the live canonical constructor.
The packaged `fixtures/root-spine-envelope-v4.json` must equal the live canonical constructor.

## Semantic catalog

Use `canonical_semantic_catalog()` and exact module IDs rather than free-form reconstruction.

Catalog v3 is:
Catalog v4 is:

```text
1 root
Expand All @@ -156,7 +174,7 @@ Catalog v3 is:
- Addressability does not transfer claim status into an application, UCNS object, EDCM value, or downstream proof.
- Catalog relations reproduce declared ancestry only; do not infer edges from analogy, repeated words, order, geometry, carrier size, or symmetry.
- Ordinary catalog construction rejects `constitutive-simultaneous` relations without explicit Phi authorization.
- `fixtures/semantic-module-catalog-v3.json` must equal the live catalog constructor plus one trailing newline.
- `fixtures/semantic-module-catalog-v4.json` must equal the live catalog constructor plus one trailing newline.

## Application modules

Expand Down Expand Up @@ -206,7 +224,7 @@ python -m build
python -m twine check dist/*
```

Actual UCNS integration is a separate required job against the pinned producer.
The root `llms.txt` must also be regenerated from the source `LLMS` block with the pinned `skill-lib` `llms-build` runner and checked for drift in CI. Actual UCNS integration is a separate required job against the pinned producer.

## skill-lib

Expand Down
6 changes: 3 additions & 3 deletions COMPLIANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ GitHub Actions is the standing execution evidence. A local run is supporting evi

## Canon identity status

The current canon epoch is `metapat-canon-v4`. Identity schema `2.0.0` binds the exact importable canon and exact bytes of every canon-bearing Markdown file.
The current canon epoch is `metapat-canon-v4`. Identity schema `4.0.0` binds the exact v4 importable shape and exact bytes of every canon-bearing Markdown file. Earlier consumers, including v3 schema `3.0.0`, reject this identity until explicitly migrated.

The root is:

Expand Down Expand Up @@ -78,7 +78,7 @@ Every module and relation carries exact source provenance, bounded status, unres

## Application status

Application schema `1.0.0` binds domain applications to exact v4 catalog identities without changing canon.
Application-module wire schema `2.0.0` binds domain applications to exact v4 catalog identities without changing canon and rejects the pre-v4 `1.0.0` parser epoch.

Quantum magnetism remains `CROSS-DOMAIN-HYPOTHESIS`; the electromagnetic-pipe application remains `EMPIRICAL-FRONTIER`. Their evidence remains answerable to their physical domains.

Expand All @@ -96,7 +96,7 @@ Catalog binding establishes provenance, not domain validation, proof, measuremen

## Envelope, UCNS, and Phi status

`MetapatModuleEnvelope` schema `1.2.0` rejects unknown, missing, or incorrectly typed fields. The actual-UCNS adapter retains exact semantic provenance while keeping representation authority in UCNS and default `external-provenance` mapping.
`MetapatModuleEnvelope` schema `2.0.0` rejects unknown, missing, or incorrectly typed fields. The v4 envelope wire epoch is intentionally incompatible with the prior `1.2.0` epoch: neither parser epoch may silently accept the other, and migration requires an explicit rebind to the v4 canon and provenance identities. `UCNSAdaptationRecord` wire `2.0.0` also rejects its prior `1.0.0` epoch and validates the embedded envelope schema, provenance digest, and exact v4 canon identity, so the outer cross-repository record cannot bypass that boundary. The actual-UCNS adapter retains exact semantic provenance while keeping representation authority in UCNS and default `external-provenance` mapping.

`UCNSPhiPolicy` permits only explicit `constitutive-simultaneous` authorization. Application bindings, catalog ancestry, temporal succession, adjacency, provenance, alternatives, external symmetry action, and arbitrary association remain insufficient to establish containment.

Expand Down
19 changes: 13 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ A simplex is a thing with boundary and state.
A tensor is structure produced when simplexes relate.
```

The current action, measurement, and result extension is:
The current action, measurement, result, and domain-qualification extension is:

```text
Relate is this to that.
Expand All @@ -29,7 +29,7 @@ Time is sequential transformation.
Structural recurrence does not transfer a domain term.
```

Energy is domain-qualified: METAPAT does not call every state transformation energy merely because energetic systems can share the same abstract structure.
The final line is a semantic transfer constraint, not a measurement or transformation rule. Energy is domain-qualified: METAPAT does not call every state transformation energy merely because energetic systems can share the same abstract structure.

## Recursion

Expand Down Expand Up @@ -103,14 +103,15 @@ python -m twine check dist/*
The base package has no third-party runtime dependency. Install the actual UCNS adapter dependency explicitly when needed:

```bash
python -m pip install -e .[dev,ucns]
python -m pip install "git+https://github.com/The-Interdependency/ucns.git@19f1afddb993f7d933ac8727627e7d5e1c3b88fc"
python -m pip install -e .[dev]
```

## Byte-complete canon identity

`metapat.canon_digest()` binds the exact importable canon surface and the exact Git blob identities of every canon-bearing Markdown file.

The current canon epoch is `metapat-canon-v4`; identity schema `2.0.0` covers:
The current canon epoch is `metapat-canon-v4`; identity schema `4.0.0` covers the exact v4 public identity shape and complete canon-file set:

- `CHAPTER_ZERO.md`
- `AXIOMS.md`
Expand All @@ -131,7 +132,7 @@ metapat.assert_canon_files_match(Path("."))

A digest is identity evidence, not empirical validation or formal proof.

Consumer migration is fail-closed. A consumer bound to an earlier canon or catalog must reject v3 until it explicitly binds the v3 identities it uses.
Consumer migration is fail-closed. A consumer bound to any earlier canon, identity schema, or catalog—including v3 schema `3.0.0`—must reject v4 until it explicitly binds identity schema `4.0.0` and the v4 identities it uses. Unknown top-level identity fields are not an implicit migration path.
Comment thread
erinepshovel-code marked this conversation as resolved.

## Immutable semantic module envelope

Expand All @@ -144,7 +145,9 @@ Consumer migration is fail-closed. A consumer bound to an earlier canon or catal
- unresolved `hmmm`;
- deterministic provenance identity.

The root spine is represented as `module_kind="canon-module"`. Current module vocabulary includes thing, boundary, state, simplex, tensor, relate, relation, emergence, scalar, vector, transformation, time, energy, registration, observer, question, postulate, theorem, and theory.
The root spine is represented as `module_kind="canon-module"`. Current module vocabulary includes thing, boundary, state, simplex, tensor, relate, relation, emergence, scalar, vector, transformation, time, domain-qualification, registration, observer, question, postulate, theorem, and theory. `energy` is not a universal module kind in v4; a domain may use the term only under its own applicable evidence and licensing.

The v4 envelope wire schema is `2.0.0`. It is deliberately incompatible with the prior `1.2.0` epoch, so old and current parsers fail closed across the boundary until a consumer explicitly rebinds the v4 canon and provenance identities.

The packaged `fixtures/root-spine-envelope-v4.json` must remain byte-identical to the live constructor.

Expand Down Expand Up @@ -184,6 +187,8 @@ The current catalog epoch is `metapat-semantic-catalog-v4`. The packaged `fixtur

Application modules bind domain uses to exact catalog modules while preserving domain evidence boundaries. They do not promote application claims into root truth.

The v4 application-module wire schema is `2.0.0`; the prior `1.0.0` parser epoch must reject it until a consumer explicitly migrates to the v4 application and catalog identities.

The quantum-magnetism vertical slice is currently:

```text
Expand All @@ -202,6 +207,8 @@ METAPAT defines no local UCNS algebra. `metapat.ucns` lazily imports the actual

The default semantic mapping is `external-provenance`: METAPAT semantics remain in the adaptation record while UCNS owns its representation and geometry.

`UCNSAdaptationRecord` wire version `2.0.0` validates its embedded envelope schema `2.0.0` and exact v4 canon identity. The prior adaptation wire `1.0.0` and current wire reject one another; an outer record cannot be used to bypass explicit v4 migration.

One explicit semantic exception remains available through canon-bound `UCNSForkAuthorization` for `constitutive-simultaneous` children. Authorization supplies semantic permission only; downstream UCNS topology still has to be verified independently.

## Contract and evidence graph
Expand Down
Loading