# Definition-only Base120 pairing diagnostic

This completed exploratory diagnostic describes the word-use geometry of **120 definitions at one pinned source commit**. It does not execute the separate human-rating or practical-task studies proposed in the [prospective methodology](../orthogonality_test_methodology.md).

The proposed matching `P-IN, CO-DE, RE-SY` ranks **13 of 15** by mean paired-centroid distance (larger first) and **5 of 15** by maximum absolute contrast cosine (smaller first). Its scores are `0.328995090258` and `0.027593465578`, respectively. The three signed contrast cosines are `-0.023026077411`, `0.015885528448` and `0.027593465578`. None of the document vectors or proposed contrasts is zero; neither proposed score is tied under the frozen tolerance.

Every matching is reported in [results.md](results.md); [results.json](results.json) also contains all contrast norms/cosines, both ranks and tie counts, all 15 family-pair distances/vocabulary overlaps, a centroid cosine matrix and per-record lexical counts. The proposed matching's favorable uniform-reference counts are **13/15** for distance and **5/15** for maximum cosine, including the proposal itself. These are descriptive fractions over the full matching set, not sample significance tests.

![All 15 perfect matchings plotted by paired distance and maximum absolute contrast cosine. The proposed matching is marked with a star and ranks 13th and 5th, respectively.](matching-scores.png)

[Standalone SVG](matching-scores.svg). Plot numbers refer to the complete matching table; the diagram supplies no additional scoring criterion.

## Why near-orthogonality is limited evidence

The retained vocabulary has 582 tokens across short definitions, with family means of 7.15–7.65 retained tokens per definition. Distinct family-centroid cosines range from `0.074591439656` to `0.197799544719`. Across **all** matchings, maximum absolute contrast cosine ranges from `0.007569990596` to `0.078323512437`. Thus small contrast cosines occur widely among alternatives, not just in the proposal.

For contrasts `a-b` and `c-d`, their dot product is `a·c - a·d - b·c + b·d`. Sparse or similarly overlapping vocabularies can make these terms small or cancel for many pairings. As a synthetic demonstration, the tests assign six completely disjoint one-word documents to six families: all 15 matchings then have zero cross-contrast cosine. Those invented documents are a mathematical fixture, not an additional observation about Base120.

Distance and contrast cosine rank different descriptive properties. The definition-only representation omits context, word order and semantic relations; its frozen stopwords even remove negation. Opposing concepts may share vocabulary, while unrelated concepts may have little overlap. Family means are not normalized again, so distance also depends on within-family lexical reuse. Exact family-name token counts are reported, but absence of those exact words would not exclude subtler editorial patterns. No equivalence margin was specified and no statistical threshold is applied.

These results cannot establish semantic opposition, independent cognitive dimensions, practical utility, or flourishing outcomes. They also do not refute every possible semantic rationale for the proposed pairings. They show how this one fully specified lexical instrument compares the proposal with all alternatives.

## Frozen plan and provenance

The [plan](exploratory-plan.md) was frozen at **2026-10-10T13:18:40Z**, before diagnostic computation. The [freeze receipt](plan-freeze.json) records SHA-256 `1e13ebe784cea0eaa9b9085947c04677fb876226ff740a03740fb1a02799bb06`. This was a local exploratory freeze, not external preregistration. Before freezing, the input shape and one record were inspected to establish the schema. No representation, stopword, score or pairing changes were made after observing results.

The source is [Base120 operators.json at f27d603f401751a772fcade069038b45c248fe42](https://github.com/hummbl-io/base120/blob/f27d603f401751a772fcade069038b45c248fe42/base120/data/operators.json). Exact Git blob SHA-256 is `0dc1573448138fda771ecb46d709b14f99dfc1fcec43e2ca5e7492542c1e6ff1`. All 120 records are retained, 20 per family. The script validates source bytes, required strings, unique codes, family sizes and family/code agreement. Source schema mappings and representation choices are in the plan. Only `definition` supplies features; `code` and `transformation` identify records and groups, and `name` is checked but not used as a feature.

The [source NOTICE](https://github.com/hummbl-io/base120/blob/f27d603f401751a772fcade069038b45c248fe42/NOTICE) credits Reuben Bowlby, HUMMBL Research, as designer and curator. It distinguishes Apache-licensed software from proprietary corpus definitions/names/codes and refers to separate commercial terms. This package **does not bundle or relicense the source corpus**. It provides derived numerical summaries and immutable retrieval references. Consult the pinned NOTICE and terms for source use; an accessible URL does not change those terms.

## Reproduce

Python 3.11 or later and Git are sufficient for the numerical analysis. No paid API, external model or third-party Python package is used. From the `hummbl-papers` root, with a local Base120 repository containing the pinned commit:

```powershell
python papers/governance-as-code-normative-cybernetic-institution/analysis/lexical_geometry.py --repo C:/Users/Owner/PROJECTS/Base120 --output-dir papers/governance-as-code-normative-cybernetic-institution/analysis
```

The repository checkout is not changed: input comes from `git show` at the specified commit. On another machine, replace the `--repo` path. Alternatively, obtain the exact bytes from the [immutable raw URL](https://raw.githubusercontent.com/hummbl-io/base120/f27d603f401751a772fcade069038b45c248fe42/base120/data/operators.json) and use `--input /path/to/operators.json` in place of `--repo`. A different hash fails before analysis; do not substitute another release or newline-converted export.

```powershell
python -m unittest discover -s papers/governance-as-code-normative-cybernetic-institution/analysis -p test_lexical_geometry.py -v
python papers/governance-as-code-normative-cybernetic-institution/analysis/verify_reproduction.py --repo C:/Users/Owner/PROJECTS/Base120
```

[run-receipt.json](run-receipt.json) records input, plan, analysis-code and scientific-output hashes, actual invocation, Python version and environment. Numerical output is rounded to 12 decimal places after scores/ranks are computed. [verification.json](verification.json) records synthetic test execution and byte-identical CLI reproduction. Stable scientific outputs exclude run time/environment; those belong to the separate receipt. Byte-level reproducibility was checked in the recorded environment, not asserted across every future Python/platform combination.

The optional plot uses installed Matplotlib and reads the stored scores without recomputing them:

```powershell
python papers/governance-as-code-normative-cybernetic-institution/analysis/plot_matching_scores.py
```

[plot-receipt.json](plot-receipt.json) records the rendering version and input/output hashes. This plotting dependency is separate from the standard-library numerical analysis.
