Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 3 additions & 2 deletions .github/workflows/english-full-corpus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ name: English full-corpus replay
on:
push:
branches: [main]
paths: ['.github/workflows/english-full-corpus.yml', 'human/**', 'programming/**', 'pyproject.toml', 'README.md', 'LICENSE', 'tools/**']
paths: ['.github/workflows/english-full-corpus.yml', 'human/**', 'programming/**', 'shared/**', 'pyproject.toml', 'README.md', 'LICENSE', 'tools/**']
pull_request:
paths: ['.github/workflows/english-full-corpus.yml', 'human/**', 'programming/**', 'pyproject.toml', 'README.md', 'LICENSE', 'tools/**']
paths: ['.github/workflows/english-full-corpus.yml', 'human/**', 'programming/**', 'shared/**', 'pyproject.toml', 'README.md', 'LICENSE', 'tools/**']
permissions:
contents: read
jobs:
Expand Down Expand Up @@ -53,6 +53,7 @@ jobs:
.venv/bin/python -m pytest -q source/human/english/tests --ignore=source/human/english/tests/test_language_relational_bridge.py --junitxml=evidence/english.xml
(cd source/human/english && ../../../.venv/bin/python -m pytest -q tests/test_language_relational_bridge.py --junitxml=../../../evidence/relational.xml)
PYTHONPATH="$PWD/source/programming/python" .venv/bin/python -m pytest -q source/programming/python/tests --junitxml=evidence/python.xml
PYTHONPATH="$PWD/source/shared/polyglot" .venv/bin/python -m pytest -q source/shared/polyglot/tests --junitxml=evidence/polyglot.xml
for file in source/human/english/english_gonol/inference_input.py source/human/english/tests/test_inference_input.py source/tools/verify_inference_corpus.py; do
.venv/bin/python doctrine/ratios/ratios_check.py "$file"
done
Expand Down
103 changes: 103 additions & 0 deletions .github/workflows/polyglot-identity.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Usage: verifies that UCHC label attachments consume one exact UCNS
# axis-circle identity without reimplementing geometry or asserting translation.
name: Polyglot identity integration
on:
push:
branches: [main]
paths: ['shared/polyglot/**', 'docs/POLYGLOT.md', 'docs/work-graphs/polyglot-circle-identity-v0.json', 'pyproject.toml', '.github/workflows/polyglot-identity.yml']
pull_request:
paths: ['shared/polyglot/**', 'docs/POLYGLOT.md', 'docs/work-graphs/polyglot-circle-identity-v0.json', 'pyproject.toml', '.github/workflows/polyglot-identity.yml']
permissions:
contents: read

jobs:
polyglot-identity:
runs-on: ubuntu-24.04
steps:
- name: Resolve exact producer and consumer
shell: bash
env:
SOURCE_SHA: ${{ github.sha }}
run: |
set -euo pipefail
fetch_source() {
local repository="$1" directory="$2" sha="$3"
[[ "$sha" =~ ^[0-9a-f]{40}$ ]]
git init -q "$directory"
git -C "$directory" remote add origin "https://github.com/$repository.git"
git -C "$directory" fetch --quiet --depth=1 origin "$sha"
git -C "$directory" checkout -q --detach FETCH_HEAD
test "$(git -C "$directory" rev-parse HEAD)" = "$sha"
}
fetch_source The-Interdependency/uchc source "$SOURCE_SHA"
UCNS_SHA="$(python3 - <<'PY'
import json
from pathlib import Path

graph = json.loads(
Path('source/docs/work-graphs/polyglot-circle-identity-v0.json').read_text(
encoding='utf-8'
)
)
matches = [
row['commit']
for row in graph['repositories']
if row['repository'] == 'The-Interdependency/ucns'
]
assert len(matches) == 1, matches
print(matches[0])
PY
)"
fetch_source The-Interdependency/ucns ucns "$UCNS_SHA"
python3 -m venv .venv
.venv/bin/python -m pip install pytest==8.3.5
- name: Run polyglot contracts
shell: bash
run: |
set -euo pipefail
PYTHONPATH="$PWD/source/shared/polyglot:$PWD/ucns/src" .venv/bin/python -m pytest -q source/shared/polyglot/tests
- name: Prove rename and language attachment over one UCNS position
shell: bash
run: |
set -euo pipefail
PYTHONPATH="$PWD/source/shared/polyglot:$PWD/ucns/src" .venv/bin/python - <<'PY'
from ucns import build_axis_circle_position
from uchc_polyglot import PolyglotReferent, attach_label, build_label_attachment, same_referent

position = build_axis_circle_position(
origin_sha256="a" * 64,
axis_count=3,
axis_ordinal=1,
)
referent = PolyglotReferent(ucns_identity_sha256=position.identity_sha256)
heart = build_label_attachment(
ucns_identity_sha256=position.identity_sha256,
language_tag="en",
surface="heart",
scope="focus-locus",
source_id="integration:v1",
Comment thread
erinepshovel-code marked this conversation as resolved.
)
before = attach_label(referent, heart)
cardiac = build_label_attachment(
ucns_identity_sha256=position.identity_sha256,
language_tag="en",
surface="cardiac",
scope="focus-locus",
source_id="integration:v2",
supersedes=heart.attachment_sha256,
)
after = attach_label(before, cardiac)
spanish = build_label_attachment(
ucns_identity_sha256=position.identity_sha256,
language_tag="es",
surface="cardíaco",
scope="focus-locus",
source_id="integration:es",
)
after = attach_label(after, spanish)

assert same_referent(before, after)
assert before.referent_identity == after.referent_identity == position.identity_sha256
assert [x.surface for x in after.current_labels(language_tag="en")] == ["cardiac"]
assert [x.surface for x in after.current_labels(language_tag="es")] == ["cardíaco"]
PY
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ programming/
python/ extracted from Stack; see migration gate evidence
typescript/ forthcoming
rust/ forthcoming

shared/
polyglot/ cross-language label attachments to UCNS identities
```

The construct is the implementation. UCHC does not separate a nominal specification layer from a hidden implementation that actually defines the construct.
Expand Down Expand Up @@ -90,10 +93,34 @@ The current UCHC O/S/C inference and epicyclic graph paths remain downstream
candidate operators/readouts. Their executable channel tuples do not define
the Hilbert basis.

## Polyglot identity layer

UCHC now has a shared candidate relation layer for language labels that attach
to one UCNS geometric identity. The UCNS producer owns the axis-circle position
and identity digest; UCHC records language/register surfaces, provenance, and
supersession history without recomputing geometry or asserting direct
word-to-word equality.

A rename therefore changes the attachment, not the referent:

```text
heart ─┐
cardiac ─┼──► same UCNS identity
cardíaco ┘
```

See [Polyglot identity layer](docs/POLYGLOT.md). Language-specific admission and
semantic partitioning remain owned by the individual language implementations.
The integration gate consumes the exact UCNS producer recorded in the shared
[polyglot work graph](docs/work-graphs/polyglot-circle-identity-v0.json), currently
merged UCNS `905e66964a495d7596a577bb64e4158db9465864`; the graph is the single checkout
pin and changing it reruns the cross-repository proof.

## Repository layout

- `human/` — human-language UCHC implementations.
- `programming/` — programming-language UCHC implementations.
- `shared/polyglot/` — UCHC-owned cross-language label attachments; no UCNS geometry is reimplemented here.
- `docs/` — authority, migration, and domain-boundary records.
- `schemas/` — machine contracts after their owning implementation requires them.
- `tests/` — cross-domain conformance tests after migration begins.
Expand Down
85 changes: 85 additions & 0 deletions docs/POLYGLOT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Polyglot identity layer

## Purpose

UCHC attaches language surfaces to a stable UCNS geometric identity.

The referent is not a word and is not a translation pair. It is the UCNS
identity produced by the axis-circle position candidate. UCHC records language,
register/scope, provenance, and label history around that referent.

UCNS position identity
<- English label
<- Spanish label
<- technical label
<- historical label

The arrows are attachments to one referent, not pairwise equality assertions.

## Rename behavior

A later label may supersede an earlier attachment while preserving both records.

Example:

heart -> same UCNS identity
cardiac -> same UCNS identity, supersedes heart

The referent identity does not change.

## Multiple languages

Independent language implementations may attach their own surfaces:

cardiac (en)
cardíaco (es)
cardiaque (fr)

Sharing a referent does not claim that these strings have identical lexical
partitioning in every context. Language-specific construction and admission
remain owned by each language implementation.

## Usage guidance

from uchc_polyglot import (
PolyglotReferent,
attach_label,
build_label_attachment,
)

referent = PolyglotReferent(ucns_identity_sha256=position.identity_sha256)
referent = attach_label(
referent,
build_label_attachment(
ucns_identity_sha256=position.identity_sha256,
language_tag="en",
surface="cardiac",
scope="technical",
source_id="source:example",
),
)

The caller obtains position.identity_sha256 from UCNS. UCHC does not recompute
or redefine the geometry.

The integration gate reads its exact UCNS producer commit from
[`polyglot-circle-identity-v0.json`](work-graphs/polyglot-circle-identity-v0.json)
rather than carrying a second version pin. The current graph consumes merged
UCNS commit `905e66964a495d7596a577bb64e4158db9465864`; update the graph and let its
path trigger the integration proof whenever that producer identity changes.

## Authority boundary

- UCNS owns the geometric position and its identity.
- UCHC owns language-scoped attachments and their history.
- A language implementation owns its source/admission/construction evidence.
- METAPAT domain restraint prevents shared structure from silently transferring
domain-specific meaning.
- EDCM may later measure constructed outputs; it does not define the relation.

## hmmm

Language-specific semantic partitioning, admission profiles, and evidence for
particular cross-language referent attachments remain separate work. Shared
geometric identity makes the relation representable; it does not make every
dictionary translation exact.
41 changes: 41 additions & 0 deletions docs/work-graphs/polyglot-circle-identity-v0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"schema": "the-interdependency.stack-manifest",
"version": "1.0.0",
"work_graph_sha256": "eddd8d2fd269b74a9c7999109a94406b64073f2ad142669e78557e145348998c",
"repositories": [
{
"repository": "The-Interdependency/skill-lib",
"commit": "f94ac2e1e0089f22f20d37f3ec41a3ea37e16efa",
"authority": "reusable build/evidence discipline",
"relation": "governing skill source"
},
{
"repository": "The-Interdependency/metapat",
"commit": "1cdfb09dd00a451cee30eec2e78624df8c682662",
"authority": "semantic/domain-restraint authority",
"relation": "conceptual boundary check"
},
{
"repository": "The-Interdependency/ucns",
"commit": "905e66964a495d7596a577bb64e4158db9465864",
"authority": "geometric axis-circle position identity",
"relation": "producer baseline"
},
{
"repository": "The-Interdependency/uchc",
"commit": "4ad94e92be10d2c4c875a848addfda46f3c7cfdb",
"authority": "language-hyperspace label attachments",
"relation": "consumer baseline"
}
],
"boundaries": {
"authority_transfer": false,
"proof_status_transfer": false,
"measurement_status_transfer": false,
"semantic_mapping": "declared mapping",
"agent_scope": "cross-repository-work-graph",
"hmmm": [
"ratification of axis-circle position as universal UCNS object identity beyond the declared candidate scope"
]
}
}
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,5 @@ packages = ["english_gonol", "english_gonol.language", "python_gonol"]
package-dir = {english_gonol = "human/english/english_gonol", python_gonol = "programming/python/python_gonol"}

[tool.pytest.ini_options]
testpaths = ["human/english/tests", "programming/python/tests"]
testpaths = ["human/english/tests", "programming/python/tests", "shared/polyglot/tests"]
Comment thread
erinepshovel-code marked this conversation as resolved.
Comment thread
erinepshovel-code marked this conversation as resolved.
pythonpath = ["human/english", "programming/python", "shared/polyglot"]
Loading
Loading