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
129 changes: 129 additions & 0 deletions docs/NGSL_LEXICAL_FLOOR_V1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# NGSL 1.2 lexical floor v0.2

**Authority:** Erin Spencer
**Recorded:** 2026-08-06
**Status:** executable source-admitted candidate
**Selection effect:** none

This slice admits the 2,809-word NGSL 1.2 collection as a word-only candidate
lexical floor. It applies the existing Public Gonol glyph assignments, creates
one word gonol per exact ordered glyph sequence, and exposes an occurrence-
addressed character-relationship potential. Affixiation, compounding, and
context-derived definitions remain separate append-only layers.

## Fixed boundaries

1. **One fixed carrier.** The lexical floor activates addresses on the existing
157-position Public Gonol carrier. It does not introduce a 26-, 27-, or
2,809-based replacement radix and does not renumber existing addresses.

2. **One exact spelling, one word gonol.** Case, glyph order, and multiplicity
remain authoritative. Exact duplicate spellings fail admission. Source rank,
frequency, and serialization position do not enter identity.

3. **SPACE remains the nesting boundary.** Every public word-construction path
rejects the profile-pinned Unicode SPACE manifestations. A caller cannot use
the direct word identifier or dataclass constructor to smuggle a boundary
into one word gonol. A glyph without a Public Gonol carrier assignment also
fails admission rather than being silently coerced.

4. **Source custody is executable.** The JSON source record, attribution notice,
exact word bytes, terminal-newline policy, Git blob, byte SHA-256, ordered
word-sequence digest, source standing, and unresolved official-checksum
boundary produce one immutable `LexicalSourceReceipt`.

5. **Relationships retain occurrences.** A character relationship stores every
matching left/right occurrence pair with both offsets. The optional glyph-
type set view is explicitly identified by Unicode scalar value and records
that occurrence order, multiplicity, and pairing were lost.

6. **Layers are immutable and authority-bound.** The hyperspace index and
definition mapping are read-only defensive copies. Relationship, morphology,
definition, source, and snapshot standings reject caller promotion.

7. **Snapshots remain source-linked.** Every current layer records the same
source-receipt identity, exact producer, ordered parent, item count, content
digest, fixed standing, and required `hmmm`. Altering the source, standing,
unresolved boundary, or parent chain fails validation.

## Current layer sequence

1. source-receipted word-only collection;
2. fixed-carrier glyph definitions;
3. unique exact word gonols;
4. occurrence-addressed character-relationship potential;
5. orthographic affixiation candidates;
6. orthographic compound candidates;
7. plural context-sourced definitions.

Later metadata cannot rewrite an earlier source object or snapshot.

## Affixiation

An affixiation candidate exists when one retained word can be produced by adding
one nonempty prefix or suffix to another retained word. The candidate binds the
exact base and derived word-gonol identities. Its standing remains
`orthographic-candidate`; it does not establish morpheme authority, allomorphy,
historical derivation, or meaning.

## Compounding

A compound candidate exists when one retained word divides at an exact glyph
boundary into two other retained words. The candidate binds all three exact word-
gonol identities and remains `orthographic-candidate` until independently
attested.

## Definitions

Definitions attach to an existing word-gonol identity. Every sense retains a
context identity, exact definition text, source identity, and fixed
`context-sourced-definition` standing. Multiple senses may coexist; the source
word gonol remains singular.

## Source and attribution files

- `src/ucns/data/ngsl_1_2_words.txt` — exact word strings only.
- `src/ucns/data/ngsl_1_2_source.json` — acquisition, identity, serialization,
attribution digest, standing, and custody boundary.
- `src/ucns/data/NGSL_1_2_ATTRIBUTION.txt` — packaged creator, source, license,
transformation, non-endorsement, and unresolved-custody notice.

The data record declares CC BY-SA 4.0 for NGSL 1.2. This notice addresses the
packaged lexical artifact; it does not manufacture a repository-wide software
license or resolve the repository's broader licensing policy.

## Verification surface

The test slice exercises:

- exact source receipt and tamper rejection;
- direct and indirect SPACE-boundary bypasses;
- unassigned-glyph rejection;
- unique exact word-gonol identities;
- occurrence multiplicity and address retention;
- explicit loss in the glyph-type set projection;
- immutable indexes and definition layers;
- candidate-identity and standing substitution attacks; and
- source, parent, standing, and unresolved-boundary snapshot attacks.

## Nonclaims

This slice does not provide:

- an independently custodied official NGSL checksum;
- a canonical linguistic affix inventory;
- adjudicated compound-word status;
- a definitions corpus;
- a semantic metric;
- geometric coordinates for lexical relationships;
- the seven-gonol construction or pairing plan;
- deep-recursion hyperdimensional embedding; or
- EDCM measurement activation.

## hmmm

The 2,809 spellings can now enter one source-bound, occurrence-preserving lexical
producer without crossing SPACE or laundering a lossy set view into exact
evidence. Official-source checksum custody, attested morphology, context-corpus
custody, selector-role interrogation, and the law that embeds retained relations
into UCNS deep recursion remain living boundaries.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ package-dir = {"" = "src"}
where = ["src"]

[tool.setuptools.package-data]
ucns = ["option_registry.json"]
ucns = ["option_registry.json", "data/*.txt", "data/*.json"]

[tool.pytest.ini_options]
testpaths = ["tests"]
Expand Down
10 changes: 10 additions & 0 deletions src/ucns/data/NGSL_1_2_ATTRIBUTION.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
NGSL 1.2 word-only lexical-floor attribution

Work: New General Service List 1.2
Creators: Charles Browne; Brent Culligan; Joseph Phillips
Official source: https://www.newgeneralservicelist.com/new-general-service-list
License: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

UCNS use: the exact 2,809 source spellings are retained as a word-only candidate lexical floor. Source rank and frequency are omitted from word-gonol identity. Serialization order exists only for reproducibility. No semantic, morphological, geometric, or endorsement claim follows from inclusion.

Custody boundary: the packaged mirror remains a source-admitted candidate until independently reconciled against an official NGSL 1.2 download and checksum.
39 changes: 39 additions & 0 deletions src/ucns/data/ngsl_1_2_source.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"schema_id": "ucns.lexical-source/0.1.0",
"collection_id": "ngsl-1.2-general-english-2809",
"title": "New General Service List 1.2 — word-only lexical floor",
"creators": [
"Charles Browne",
"Brent Culligan",
"Joseph Phillips"
],
"license": "CC BY-SA 4.0",
"official_source": "https://www.newgeneralservicelist.com/new-general-service-list",
"word_count": 2809,
"word_file": "ngsl_1_2_words.txt",
"attribution_file": "NGSL_1_2_ATTRIBUTION.txt",
"attribution_sha256": "3497532cecce55237e2e58ba09b542f98813ea1d6ac4dfbe59a6003b25e59e6f",
"acquisition": {
"mirror_repository": "uigywnkiub/english-of-avail",
"mirror_commit": "05f9e92d570feaa1f6fd4d3145151b49afab93d5",
"mirror_path": "dictionary/NGSL_1.2/NGSL_1.2_alphabetized_description.txt",
"mirror_git_blob": "4a89f46ae6461d121f9bcc30a07e23af04cf40a5",
"target_git_blob": "81b1ac81086e3f7a2963e5d07a0a2ad9291887bb"
},
"identity_policy": {
"word_identity": "exact ordered Unicode scalar sequence",
"normalization": "none",
"case_folding": "none",
"duplicate_policy": "reject exact duplicate spellings",
"source_rank_retained": false,
"frequency_retained": false,
"serialization_order": "Unicode casefold key, then exact code-point tuple; ordering has no semantic standing"
},
"file_serialization": {
"encoding": "UTF-8",
"line_separator": "LF",
"terminal_newline": true
},
"standing": "source-admitted-candidate",
"hmmm": "Reconcile the exact packaged spellings against an independently downloaded official NGSL 1.2 file and freeze that official file checksum before canonical promotion."
}
Loading
Loading