Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9eb4cf1a45 | |||
|
|
422dbe7e54 | ||
|
|
1d78742696 | ||
| 3f6549ff8b | |||
|
|
d929f746bd | ||
|
|
9fb44fa23f | ||
| d043281a18 | |||
|
|
3db34fb634 | ||
| 813509f250 | |||
|
|
1e79c0c9e6 | ||
|
|
218962fcf6 | ||
| 157892a95a |
10 changed files with 1119 additions and 22 deletions
|
|
@ -300,10 +300,6 @@ predications:
|
|||
roles:
|
||||
agent: actor
|
||||
patient: target
|
||||
extensions:
|
||||
rtd.aesthetic_reading:
|
||||
form: raw
|
||||
spectacle_value: high
|
||||
```
|
||||
|
||||
## Promotion Rule
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ register, and history.
|
|||
- Weksa owns the language-project pipeline: ontology projection, grammar,
|
||||
morphology, phonology, diachrony, rendering, glossing, and critique.
|
||||
- A future language project owns one inhabitant language. Airawa imperial
|
||||
register, pre-imperial Airawa registers, Sa'auei'a family-unit speech, ritual
|
||||
register, pre-imperial Airawa registers, Sa'ueia family-unit speech, ritual
|
||||
breeding-ground registers, and ecological-partner contact systems should not
|
||||
collapse into one universal naming soup.
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ surfaces:
|
|||
- Airawa continent: mother-tree memory networks, archival dependency,
|
||||
disconnected networks, and the Airawa Empire's biological-memetic
|
||||
infrastructure.
|
||||
- Sa'auei'a continent: advanced nomadic civilization, family-unit political
|
||||
- Sa'ueia continent: advanced nomadic civilization, family-unit political
|
||||
movement, sacred breeding-ground commons, remembered routes, and reciprocal
|
||||
ecological relationships.
|
||||
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ rights, witnessed warrior promise, and honorable scar evidence. See
|
|||
### Provisional Airawa Phonology Notes
|
||||
|
||||
Airawa phonology is not finalized, but the current design pressure distinguishes
|
||||
it from Sa'auei'a softness. Airawa names should feel sharper, more dorsal and
|
||||
it from Sa'ueia softness. Airawa names should feel sharper, more dorsal and
|
||||
coronal, and more willing to close around hard edges.
|
||||
|
||||
Provisional tendencies:
|
||||
|
|
@ -58,9 +58,9 @@ Provisional tendencies:
|
|||
- sibilant and postalveolar fricatives should carry social texture: `s`, `z`,
|
||||
`sh` / `zh`;
|
||||
- `r` may be trilled in some Airawa registers;
|
||||
- syllables can tolerate clipped or closed shapes where Sa'auei'a forms would
|
||||
- syllables can tolerate clipped or closed shapes where Sa'ueia forms would
|
||||
flow longer and wetter;
|
||||
- avoid making native Airawa names read like smooth Sa'auei'a route names unless
|
||||
- avoid making native Airawa names read like smooth Sa'ueia route names unless
|
||||
the form is explicitly a loan, exonym, or cross-continental register.
|
||||
|
||||
The current room consensus pushes this further for introductory speech: Airawa
|
||||
|
|
@ -75,9 +75,9 @@ voiced postalveolar fricative /zh/ [ʒ]. The name is being considered for a
|
|||
Zyphos Face drawn from a non-imperial Airawa archival/fungal-road tradition: an
|
||||
archivist shaped by memory as kinship, not content.
|
||||
|
||||
## Sa'auei'a Pressures
|
||||
## Sa'ueia Pressures
|
||||
|
||||
Sa'auei'a language work must account for:
|
||||
Sa'ueia language work must account for:
|
||||
|
||||
- advanced nomadic civilization without permanent urban dominance
|
||||
- squad-sized family units
|
||||
|
|
@ -88,10 +88,46 @@ Sa'auei'a language work must account for:
|
|||
- reciprocity routes and seasonal corridors
|
||||
- camps, commons, and partner sites as distinct name targets
|
||||
|
||||
The Sa'auei'a continent should not read as empty wilderness. Its language should
|
||||
The Sa'ueia continent should not read as empty wilderness. Its language should
|
||||
have ways to name civilization that moves, recurs, bargains, and is remembered by
|
||||
ecology.
|
||||
|
||||
## Sa'ueia Sound (Proposal For Deru To Cut)
|
||||
|
||||
Status: proposal. Deru approved the outline in #zyphos on 2026-11-04; only the
|
||||
species name Sa'ueia is canon. Everything below is a working draft in
|
||||
`sa-ueia/table.yaml`, each entry marked `deru` or `weksa-placeholder`, and
|
||||
`sa-ueia/check.py` enforces what is mechanical.
|
||||
|
||||
Taken from Deru's words:
|
||||
|
||||
- five vowels: `a e i o u`;
|
||||
- no `h`, `q`, `y`; `k` where a `q` might have been;
|
||||
- short words, soft and open;
|
||||
- suffixing morphology; the one suffix so far is `-um`, a verb suffix;
|
||||
- identical letters merge at a morpheme join: `weru` + `um` gives `werum`,
|
||||
`ila` + `werum` gives `ilawerum` (walk of knowledge);
|
||||
- a vowel only where one is needed.
|
||||
|
||||
First roots, all Deru's: `ila` walk, `weru` know, `Olune` breeding ground
|
||||
(unanalyzed).
|
||||
|
||||
Proposed, for Deru to accept or cut:
|
||||
|
||||
- the apostrophe in Sa'ueia is orthographic, and is not counted as a letter;
|
||||
- "short" means at most 10 letters in a joined word, as a warning only;
|
||||
- no doubled letter inside a morpheme, so a double can only arise at a join
|
||||
and the merge rule removes it.
|
||||
|
||||
Open, not guessed:
|
||||
|
||||
- the consonant inventory. Only `l m n r s w` appear in Deru's words so far,
|
||||
and that is attestation, not an inventory;
|
||||
- whether the know root is `weru` or `wer-` (both give `werum`);
|
||||
- syllable shapes, stress, and what "vowel only where needed" means once the
|
||||
inventory is known (the checker does not test it);
|
||||
- the phonological role of the apostrophe.
|
||||
|
||||
## Naming Brief Shape
|
||||
|
||||
A Weksa naming brief should capture at least:
|
||||
|
|
|
|||
102
settings/eusocial-interbeing/sa-ueia/check.py
Normal file
102
settings/eusocial-interbeing/sa-ueia/check.py
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
#!/usr/bin/env python3
|
||||
"""Sa'ueia workshop checker: join morphemes by table.yaml's rules, flag violations.
|
||||
|
||||
Reads table.yaml next to this file (or a path argument). The consonant inventory
|
||||
is open, so no consonant is ever flagged; only rules in the table are enforced.
|
||||
Exit status is 1 when any error is found; warnings do not fail the run.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
|
||||
import yaml
|
||||
|
||||
TABLE = Path(__file__).with_name("table.yaml")
|
||||
PROVENANCES = {"deru", "weksa-placeholder"}
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class Finding:
|
||||
severity: str # "error" | "warning"
|
||||
where: str
|
||||
message: str
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f"{self.severity}: {self.where}: {self.message}"
|
||||
|
||||
|
||||
def letters(form: str) -> str:
|
||||
return form.replace("'", "").lower()
|
||||
|
||||
|
||||
def join(morphemes: list[str]) -> str:
|
||||
"""Concatenate, merging one identical letter at each join."""
|
||||
out = ""
|
||||
for m in morphemes:
|
||||
if out and m and out[-1] == m[0]:
|
||||
m = m[1:]
|
||||
out += m
|
||||
return out
|
||||
|
||||
|
||||
def check_form(form: str, rules: dict, where: str, *, inside_morpheme: bool = False) -> list[Finding]:
|
||||
found = []
|
||||
text = letters(form)
|
||||
for ch in rules["forbidden_letters"]["value"]:
|
||||
if ch in text:
|
||||
found.append(Finding("error", where, f"{form!r} contains forbidden letter {ch!r}"))
|
||||
for a, b in zip(text, text[1:]):
|
||||
if a == b and (not inside_morpheme or rules["no_doubled_letters_inside_morpheme"]["value"]):
|
||||
found.append(Finding("error", where, f"{form!r} has doubled {a!r}"))
|
||||
limit = rules["max_word_letters"]
|
||||
if not inside_morpheme and len(text) > limit["value"]:
|
||||
found.append(Finding(limit["severity"], where, f"{form!r} is {len(text)} letters, over {limit['value']}"))
|
||||
return found
|
||||
|
||||
|
||||
def check_table(table: dict) -> list[Finding]:
|
||||
rules = table["rules"]
|
||||
found = []
|
||||
for r_name, r in rules.items():
|
||||
if r.get("provenance") not in PROVENANCES:
|
||||
found.append(Finding("error", f"rules.{r_name}", "missing or unknown provenance"))
|
||||
if table["consonants"]["inventory"] != "open":
|
||||
found.append(Finding("error", "consonants", "inventory is not Deru's to guess; keep it open until given"))
|
||||
forms: dict[str, str] = {}
|
||||
for kind in ("roots", "suffixes"):
|
||||
for entry in table[kind]:
|
||||
form = entry["form"]
|
||||
where = f"{kind}.{form}"
|
||||
if entry.get("provenance") not in PROVENANCES:
|
||||
found.append(Finding("error", where, "missing or unknown provenance"))
|
||||
forms[form] = kind
|
||||
found += check_form(form, rules, where, inside_morpheme=True)
|
||||
for comp in table["compositions"]:
|
||||
where = "compositions." + "+".join(comp["morphemes"])
|
||||
if comp.get("provenance") not in PROVENANCES:
|
||||
found.append(Finding("error", where, "missing or unknown provenance"))
|
||||
for m in comp["morphemes"]:
|
||||
if m not in forms and not any(m == f2 for f2 in (c["expected"] for c in table["compositions"])):
|
||||
found.append(Finding("error", where, f"morpheme {m!r} is in no table row or earlier composition"))
|
||||
got = join(comp["morphemes"])
|
||||
if got != comp["expected"]:
|
||||
found.append(Finding("error", where, f"joins to {got!r}, table says {comp['expected']!r}"))
|
||||
found += check_form(comp["expected"], rules, where)
|
||||
return found
|
||||
|
||||
|
||||
def main(argv: list[str]) -> int:
|
||||
path = Path(argv[1]) if len(argv) > 1 else TABLE
|
||||
findings = check_table(yaml.safe_load(path.read_text(encoding="utf-8")))
|
||||
for f in findings:
|
||||
print(f)
|
||||
print(f"{sum(f.severity == 'error' for f in findings)} error(s), "
|
||||
f"{sum(f.severity == 'warning' for f in findings)} warning(s)")
|
||||
return 1 if any(f.severity == "error" for f in findings) else 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main(sys.argv))
|
||||
81
settings/eusocial-interbeing/sa-ueia/table.yaml
Normal file
81
settings/eusocial-interbeing/sa-ueia/table.yaml
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
# Sa'ueia workshop table, first cut.
|
||||
# Source: Deru's words in #zyphos, 2026-11-04. Setting owner: Deru (the Zyphos vault).
|
||||
# Every entry carries provenance:
|
||||
# deru - said by Deru, or part of the sound outline Deru approved
|
||||
# weksa-placeholder - Weksa's stand-in so the checker can run; Deru may cut it
|
||||
# Only the species name Sa'ueia is canon. Everything else here is a working
|
||||
# draft, even when its provenance is deru.
|
||||
|
||||
roots:
|
||||
- form: ila
|
||||
gloss: walk
|
||||
provenance: deru
|
||||
- form: weru
|
||||
gloss: know
|
||||
provenance: deru
|
||||
note: >
|
||||
Deru gave "werum" (knowledge, maybe a verb) and was asked whether -um
|
||||
suffixes wer- or weru. "weru" is the reading under which the join rule
|
||||
does visible work (weru + um -> werum); wer- gives the same surface form.
|
||||
Open for Deru.
|
||||
- form: olune
|
||||
gloss: breeding ground
|
||||
provenance: deru
|
||||
analysis: unanalyzed # no morpheme boundaries known
|
||||
- form: sa'ueia
|
||||
gloss: the species name
|
||||
provenance: deru
|
||||
canon: true
|
||||
analysis: unanalyzed
|
||||
note: Apostrophe is part of the canon spelling; its phonological role is open.
|
||||
|
||||
suffixes:
|
||||
- form: um
|
||||
gloss: verb suffix
|
||||
provenance: deru
|
||||
|
||||
rules:
|
||||
vowels:
|
||||
value: [a, e, i, o, u]
|
||||
provenance: deru
|
||||
forbidden_letters:
|
||||
value: [h, q, y]
|
||||
provenance: deru
|
||||
note: k is used where q might have been.
|
||||
join_merge_identical:
|
||||
value: true
|
||||
provenance: deru
|
||||
note: >
|
||||
When one morpheme ends in the letter the next begins with, they merge to
|
||||
one letter at the join (weru + um -> werum, ila + werum -> ilawerum).
|
||||
morphology_direction:
|
||||
value: suffixing
|
||||
provenance: deru
|
||||
short_words:
|
||||
provenance: deru
|
||||
checked: false # no number from Deru
|
||||
max_word_letters:
|
||||
value: 10
|
||||
provenance: weksa-placeholder
|
||||
severity: warning
|
||||
note: Stand-in for "short words"; apostrophes not counted. Deru sets the real bound.
|
||||
no_doubled_letters_inside_morpheme:
|
||||
value: true
|
||||
provenance: weksa-placeholder
|
||||
note: Follows from the merge rule only if doubles never occur inside a morpheme either.
|
||||
vowel_only_where_needed:
|
||||
provenance: deru
|
||||
checked: false # not mechanically decidable without the consonant inventory
|
||||
|
||||
consonants:
|
||||
inventory: open # Deru has not given it. The checker does not guess.
|
||||
seen_in_deru_words: [l, m, n, r, s, w] # attested above, not an inventory
|
||||
|
||||
# Joined forms the checker must reproduce. Each: morphemes in order, expected surface.
|
||||
compositions:
|
||||
- morphemes: [weru, um]
|
||||
expected: werum
|
||||
provenance: deru # "werum" is Deru's form
|
||||
- morphemes: [ila, werum]
|
||||
expected: ilawerum
|
||||
provenance: deru # "Ilawerum", walk of knowledge
|
||||
94
settings/eusocial-interbeing/sa-ueia/test_check.py
Normal file
94
settings/eusocial-interbeing/sa-ueia/test_check.py
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
import copy
|
||||
import unittest
|
||||
|
||||
import yaml
|
||||
|
||||
import check
|
||||
|
||||
|
||||
def table():
|
||||
return yaml.safe_load(check.TABLE.read_text(encoding="utf-8"))
|
||||
|
||||
|
||||
def errors(t):
|
||||
return [f for f in check.check_table(t) if f.severity == "error"]
|
||||
|
||||
|
||||
class JoinTests(unittest.TestCase):
|
||||
def test_identical_letters_merge_at_join(self):
|
||||
self.assertEqual(check.join(["weru", "um"]), "werum")
|
||||
self.assertEqual(check.join(["ila", "werum"]), "ilawerum")
|
||||
|
||||
def test_merge_is_one_letter_not_all(self):
|
||||
self.assertEqual(check.join(["ila", "aba"]), "ilaba")
|
||||
self.assertEqual(check.join(["ila", "ala"]), "ilala")
|
||||
|
||||
def test_different_letters_concatenate(self):
|
||||
self.assertEqual(check.join(["ila", "um"]), "ilaum")
|
||||
|
||||
def test_merge_applies_only_at_joins(self):
|
||||
# a doubled letter inside a morpheme is not collapsed by join
|
||||
self.assertEqual(check.join(["aa", "b"]), "aab")
|
||||
|
||||
|
||||
class TableTests(unittest.TestCase):
|
||||
def test_shipped_table_is_clean(self):
|
||||
self.assertEqual(errors(table()), [])
|
||||
|
||||
def test_forbidden_letter_in_root_flagged(self):
|
||||
t = table()
|
||||
t["roots"].append({"form": "haru", "gloss": "x", "provenance": "weksa-placeholder"})
|
||||
self.assertTrue(any("forbidden letter 'h'" in str(f) for f in errors(t)))
|
||||
|
||||
def test_q_and_y_flagged(self):
|
||||
for ch in "qy":
|
||||
t = table()
|
||||
t["roots"].append({"form": f"a{ch}a", "gloss": "x", "provenance": "deru"})
|
||||
self.assertTrue(any(f"forbidden letter '{ch}'" in str(f) for f in errors(t)), ch)
|
||||
|
||||
def test_k_allowed(self):
|
||||
t = table()
|
||||
t["roots"].append({"form": "kela", "gloss": "x", "provenance": "weksa-placeholder"})
|
||||
self.assertEqual(errors(t), [])
|
||||
|
||||
def test_missing_or_unknown_provenance_flagged(self):
|
||||
for bad in (None, "guess"):
|
||||
t = table()
|
||||
t["suffixes"][0]["provenance"] = bad
|
||||
self.assertTrue(any("provenance" in str(f) for f in errors(t)), bad)
|
||||
|
||||
def test_unmerged_composition_flagged(self):
|
||||
t = table()
|
||||
t["compositions"][0]["expected"] = "weruum"
|
||||
msgs = [str(f) for f in errors(t)]
|
||||
self.assertTrue(any("joins to 'werum'" in m for m in msgs))
|
||||
self.assertTrue(any("doubled 'u'" in m for m in msgs))
|
||||
|
||||
def test_doubled_letter_inside_morpheme_flagged(self):
|
||||
t = table()
|
||||
t["roots"].append({"form": "ilaa", "gloss": "x", "provenance": "weksa-placeholder"})
|
||||
self.assertTrue(any("doubled 'a'" in str(f) for f in errors(t)))
|
||||
|
||||
def test_unknown_morpheme_in_composition_flagged(self):
|
||||
t = table()
|
||||
t["compositions"].append({"morphemes": ["ila", "zo"], "expected": "ilazo", "provenance": "weksa-placeholder"})
|
||||
self.assertTrue(any("'zo'" in str(f) for f in errors(t)))
|
||||
|
||||
def test_long_word_is_warning_not_error(self):
|
||||
t = table()
|
||||
t["compositions"].append({"morphemes": ["ila", "werum", "ila", "werum"], "expected": "ilawerumilawerum",
|
||||
"provenance": "weksa-placeholder"})
|
||||
self.assertEqual(errors(t), [])
|
||||
self.assertTrue(any(f.severity == "warning" for f in check.check_table(t)))
|
||||
|
||||
def test_consonant_inventory_must_stay_open(self):
|
||||
t = table()
|
||||
t["consonants"]["inventory"] = ["l", "m"]
|
||||
self.assertTrue(any("inventory" in str(f) for f in errors(t)))
|
||||
|
||||
def test_apostrophe_is_not_a_letter(self):
|
||||
self.assertEqual(check.letters("Sa'ueia"), "saueia")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
390
settings/eusocial-interbeing/zyphos-name-briefs.md
Normal file
390
settings/eusocial-interbeing/zyphos-name-briefs.md
Normal file
|
|
@ -0,0 +1,390 @@
|
|||
# Zyphos Name Briefs (DRAFT)
|
||||
|
||||
**Status: every name in this file is DRAFT. None is canon.** Per the
|
||||
[README](./README.md), a name is canon only when a language project can explain
|
||||
its ontology and form. No such project exists yet, so these are candidates held
|
||||
against briefs, not entries in a lexicon.
|
||||
|
||||
Source: follow-up `weksa-body/zyphos-name-drafts`. Brief shape follows
|
||||
[Language Design Pressure](./language-design.md#naming-brief-shape): the brief
|
||||
comes before the name, and the name is the receipt. Setting context was read
|
||||
from the Zyphos vault (`Species/Airawa`, `Species/Matriarch Trees`,
|
||||
`Species/Sa'ueia`, `Civilizations/*`, `Ecology/Breeding Grounds`,
|
||||
`Ecology/Nation Scale Interbeings`); the vault was not edited.
|
||||
|
||||
Both brief sets wait on Meta's answers to `vq-first-language` and
|
||||
`vq-name-scope`. Where a brief's scope depends on them it says so.
|
||||
|
||||
## What the sound rules actually give us
|
||||
|
||||
`language-design.md` is thin, and the briefs should not pretend otherwise.
|
||||
|
||||
- **Airawa** has a provisional list (R-A below). It is a tendency list, not a
|
||||
phonology: no vowel inventory, no photactic limits, no stress rule beyond
|
||||
"heavy on socially important forms".
|
||||
- **Sa'ueia has a working sound section**
|
||||
([Sa'ueia Sound](./language-design.md#saueia-sound-proposal-for-deru-to-cut),
|
||||
enforced by `sa-ueia/check.py` against `sa-ueia/table.yaml`). It is a
|
||||
proposal Deru approved in outline; only the species name is canon. Rule
|
||||
labels R-S4..R-S8 below cite it. The consonant inventory, syllable shapes and
|
||||
stress are still open, so sound arguments beyond the letter rules stay weak.
|
||||
- The **imperial Airawa register** has no sound rules either. It is only
|
||||
described as "an artificial quarter-continent clausiform exception imposed
|
||||
through biological-memetic control", not "named like a normal state with wet
|
||||
nouns glued on".
|
||||
|
||||
Rule labels used below (quoted or paraphrased from `language-design.md`):
|
||||
|
||||
| Label | Rule |
|
||||
| --- | --- |
|
||||
| R-A1 | Airawa: dorsal and coronal plosives prominent (`k g q t d`). |
|
||||
| R-A2 | Airawa: sibilants and postalveolars carry social texture (`s z sh zh`). |
|
||||
| R-A3 | Airawa: `r` may be trilled in some registers. |
|
||||
| R-A4 | Airawa: clipped or closed syllables tolerated, where Sa'ueia would flow longer and wetter. |
|
||||
| R-A5 | Native Airawa names must not read like smooth Sa'ueia route names unless explicitly loan, exonym or cross-continental register. |
|
||||
| R-A6 | Room consensus: hard edges, clipped/closed syllables, heavy stress on socially important forms, so claims land with weight. |
|
||||
| R-S1 | Sa'ueia is softer than Airawa. |
|
||||
| R-S2 | Sa'ueia forms flow longer and wetter than Airawa. |
|
||||
| R-S3 | Sa'ueia route names read smooth. |
|
||||
| R-S4 | Sa'ueia letters: vowels `a e i o u`; forbidden `h q y` (`k` where a `q` might have been). |
|
||||
| R-S5 | Sa'ueia: short words, soft and open; at most 10 letters joined (warning, Weksa placeholder). |
|
||||
| R-S6 | Sa'ueia: suffixing morphology; identical letters merge at a join (`weru`+`um` -> `werum`). |
|
||||
| R-S7 | Sa'ueia: no doubled letter inside a morpheme (Weksa placeholder); a double arises only at a join, and the merge removes it. |
|
||||
| R-S8 | Sa'ueia roots from Deru: `ila` walk, `weru` know, `olune` breeding ground (unanalyzed), `-um` verb suffix. Composed: `werum`, `ilawerum` (walk of knowledge). |
|
||||
| R-N | Naming rule: meaning decomposition first; define the speaker's scale, name type (endonym, exonym, ritual avoidance, technical, imperial administrative, route-name, child-name, trade gloss), what the speaker's ontology makes obligatory, and whether the name is stable, seasonal, situational, inherited or evasive. |
|
||||
|
||||
Existing scratch evidence to keep in view: `Druzkai` (Face for a non-imperial
|
||||
archivist) and the first-contact slice lexicon (`atar`, `qatar`, `daruq`,
|
||||
`karuq`, `qerath`, `thaleq`...). Neither is canon either.
|
||||
|
||||
Each target's brief ends with **reject if** conditions. A name that fails one
|
||||
goes back to the brief, not to a patch.
|
||||
|
||||
---
|
||||
|
||||
## Airawa, non-imperial
|
||||
|
||||
Common to all Airawa briefs below, unless one overrides it: the speakers are
|
||||
pre-imperial or never-imperial Airawa, in the `Pre-Imperial Airawa Tribes` /
|
||||
native nation-scale sense, not the Empire. Registers (Airawa imperial, native
|
||||
tribal, mother-tree-facing) must not collapse into one naming soup
|
||||
(`README.md`, Authority).
|
||||
|
||||
### A1. Airawa self-name (candidates: `Qazhkar`, `Dozkai`, `Tegzhir`) — DRAFT
|
||||
|
||||
```yaml
|
||||
target:
|
||||
kind: endonym (what a non-imperial Airawa people call themselves)
|
||||
canon_source: Species/Airawa; Civilizations/Pre-Imperial Airawa Tribes
|
||||
provisional_english_handle: "the Airawa, as they name themselves"
|
||||
namer:
|
||||
language_project: none yet (non-imperial Airawa, native register)
|
||||
register: formal naming register (slice: `qatar`, formal name), not casual
|
||||
relationship_to_target: the speaker is the target
|
||||
```
|
||||
|
||||
- **Speaker:** a non-imperial Airawa speaking as a people, or as a tribe
|
||||
inside the people (open: see scope question).
|
||||
- **Addressee:** primarily other Airawa and witnesses at formal naming; second,
|
||||
an outsider receiving an introduction (the first-contact scene).
|
||||
- **Register:** formal, standing-bearing; the kind of word that follows `atar`
|
||||
("I stand as") and has to land with weight (R-A6).
|
||||
- **Meaning decomposed before surface:**
|
||||
a self-name here is probably not "people" in the English sense. The setting
|
||||
makes the unit of selfhood a relationship: a lineage held by a mother tree,
|
||||
bound by gestation contracts, contract dress and nutrient obligation. The
|
||||
candidate meaning bundle is: *those held in memory by mother trees* /
|
||||
*those who owe and are owed* / *kin through the archive*. It must also work
|
||||
as a contrast with the empire, which edits memory: the pre-imperial self-name
|
||||
should presuppose negotiated, leaky membership, not a uniform nation.
|
||||
Scope question (needs `vq-name-scope`): one pan-Airawa word, a per-tribe
|
||||
word, or a word for the *kind* of polity (nation-scale interbeing, which
|
||||
includes the trees)?
|
||||
- **Sound rules that apply:** R-A1, R-A2, R-A4, R-A6; R-A5 as a negative check.
|
||||
- **Per-candidate sound read (judgment, not rule):**
|
||||
- `Qazhkar`: `q` + `zh` + `k`, two closed syllables (Qazh-kar), fits R-A1,
|
||||
R-A2, R-A4, R-A6 cleanly. Shares `-kar` with `sakar` and `kazhar` from the
|
||||
slice. That is a plus if `-kar` is meant to be a role/person suffix and a
|
||||
minus if it was only a sound resemblance.
|
||||
- `Dozkai`: closed first syllable, open second ending in a diphthong `ai`.
|
||||
Fits R-A1/R-A2 but the open `-ai` tail is the softer shape R-A4 contrasts
|
||||
against. Also two edits from the scratch name `Druzkai` (insert `r`, `o` to
|
||||
`u`); two names with that near neighbourhood will blur unless one is explicitly derived from
|
||||
the other.
|
||||
- `Tegzhir`: `t-g-zh` cluster, closed final syllable, clean fit. The only
|
||||
candidate with a front vowel in the stressed syllable, which may or may not
|
||||
be a feature.
|
||||
- **Reject if:**
|
||||
- the meaning bundle above cannot be stated in one clause that names the
|
||||
mother-tree relationship (a bare "people" or "the strong" gloss);
|
||||
- the form also reads as a plausible Sa'ueia word (R-A5);
|
||||
- it is shared, as a root, with the imperial exonym in A4 without a recorded
|
||||
reason (loan or deliberate echo);
|
||||
- the project owner decides the self-name is per-tribe and the word is only
|
||||
pan-continental.
|
||||
- **Preferred shape of choice (not a ruling):** pick by the meaning bundle, not
|
||||
by taste; all three pass the sound list, so sound is not a discriminator here.
|
||||
|
||||
### A2. Mother tree (candidates: `Kharzdun`, `Qetoz`) — DRAFT
|
||||
|
||||
```yaml
|
||||
target:
|
||||
kind: name for a being / kind of being, not a place
|
||||
canon_source: Species/Matriarch Trees; Ecology/Mother Tree Networks
|
||||
provisional_english_handle: "mother tree / matriarch tree"
|
||||
```
|
||||
|
||||
- **Speaker:** non-imperial Airawa. Possibly two speakers needing two words:
|
||||
a tribe naming *its* tree, and a general word for the kind. Open.
|
||||
- **Addressee:** other Airawa (referring to the tree); *not* the tree itself.
|
||||
The slice requires distinguishing "direct speech to a mother-tree" from
|
||||
"authorized delivery to it", so referring and addressing probably want
|
||||
different forms.
|
||||
- **Register:** archival / ritual-respectful. Not a diminutive and not a
|
||||
kinship term.
|
||||
- **Meaning decomposed before surface:** the English handle "mother" imports
|
||||
nurture. The vault's tree is a gestator *and* a memory-holder *and* a party
|
||||
with coercive leverage (memory can be held hostage; defying it costs
|
||||
ancestral continuity). The Airawa name should carry at least: *keeper of
|
||||
memory* and *gestation contract*, and should not smuggle in "gentle". Whether
|
||||
the name also marks the tree as a sovereign party (a polity, since it is a
|
||||
node in a nation-scale interbeing) is a fork for the owner.
|
||||
- **Sound rules that apply:** R-A1, R-A2, R-A4, R-A6.
|
||||
- **Per-candidate sound read:**
|
||||
- `Kharzdun`: the `kh` is outside the R-A1/R-A2 list (`k g q t d s z sh zh`);
|
||||
it needs either a rule admitting it or a respelling. Three syllables with
|
||||
`rz` cluster and final `-dun`: heavy, closed. Strong fit to R-A6 otherwise.
|
||||
- `Qetoz`: `q` + `t` + `z`, two syllables, fits R-A1/R-A2; the open middle
|
||||
vowel pattern (`e`, `o`) is lighter than `Kharzdun`. Shorter is arguably
|
||||
right for a word said often; longer for a word said with weight.
|
||||
- **Reject if:** the name decomposes only to "mother"/"nurse"/"grandmother"
|
||||
(kinship nostalgia without the contract and coercion); it is the same word
|
||||
the empire uses for the tree as *infrastructure* (the Biological Memetic
|
||||
Engine reuses the tree network, so the empire's word is a different brief);
|
||||
the project owner rules the kind-word and the individual-tree-word must be
|
||||
separate and only one is given.
|
||||
|
||||
### A3. Disconnected network (candidates: `Gisqat`, `Zhedkor`) — DRAFT
|
||||
|
||||
```yaml
|
||||
target:
|
||||
kind: name for a surviving mother-tree ecology that severed itself
|
||||
canon_source: Civilizations/Disconnected Tree Networks
|
||||
provisional_english_handle: "disconnected (tree) network"
|
||||
```
|
||||
|
||||
- **Speaker:** a native non-imperial Airawa, ideally someone inside or allied
|
||||
with such a network. **Not the empire**: the empire denies they exist
|
||||
(`Airawa Empire`, "Nations It Refuses to Recognize"; they are called
|
||||
"disease, criminal ecology, or imperial tissue awaiting correction"), so the
|
||||
imperial register has no sanctioned word, and any imperial term is a
|
||||
separate brief (A4).
|
||||
- **Addressee:** other native Airawa; possibly a visiting envoy (the vault has
|
||||
envoys crossing into Sa'ueia territory). Rumor-grade circulation: the networks
|
||||
"keep rumors moving through routes the engine cannot fully process".
|
||||
- **Register:** careful. The vault has the status as survival, refusal and
|
||||
wound at once; the name may need an indirect/evasive form
|
||||
(`README.md`: "safe-to-name, indirect-name-required, silence-required").
|
||||
- **Meaning decomposed before surface:** *severed* is the surface fact; the
|
||||
contentful meaning is *alive because cut*: the connection was surrendered to
|
||||
preserve the self. A gloss of "isolated" or "cut-off" loses that. Axes to
|
||||
decide: is the name about the cut (act), the survivor (state), or the
|
||||
continued resistance (role)? Do networks of "trees with more control than
|
||||
people" and "anti-imperial Airawa communities" share one word, or does the
|
||||
word name the property (disconnection) rather than the polity?
|
||||
- **Sound rules that apply:** R-A1, R-A2, R-A4, R-A6.
|
||||
- **Per-candidate sound read:**
|
||||
- `Gisqat`: `g-s-q-t`, two closed syllables; a hard stop sequence that reads
|
||||
as something cut off, which is apt but also a sound-symbolic gloss the
|
||||
project should not over-trust.
|
||||
- `Zhedkor`: `zh-d-k`, trilled `r` available (R-A3); heavy and closed.
|
||||
- **Reject if:** the form is also the imperial term (the empire's denial means
|
||||
the two registers should not share one word without cause); it glosses to
|
||||
"dead", "lost" or "isolated"; the owner decides the target is a *property*
|
||||
word (adjective for any severed tree) and the candidate is a *noun for the
|
||||
polity*, or vice versa.
|
||||
|
||||
### A4. Imperial exonym for the natives (`Tkarzet`) — DRAFT
|
||||
|
||||
```yaml
|
||||
target:
|
||||
kind: exonym, imperial administrative
|
||||
canon_source: Civilizations/Airawa Empire; Conflicts/Xenophobic Memetic Campaign
|
||||
provisional_english_handle: "the natives / unincorporated Airawa"
|
||||
namer:
|
||||
language_project: none (imperial Airawa register)
|
||||
register: imperial administrative / doctrinal
|
||||
relationship_to_target: classifier, denier
|
||||
```
|
||||
|
||||
- **Speaker:** the Empire, an artificial nation-scale interbeing speaking
|
||||
through ministries, doctrine and memetic organisms.
|
||||
- **Addressee:** imperial citizens and administrators; also doctrine-carrying
|
||||
memes. Not the natives: it is not a word the natives would be called by to
|
||||
their faces in a respectful exchange.
|
||||
- **Register:** official. The language-design rule says this register is
|
||||
"an artificial quarter-continent clausiform exception", not a normal state's
|
||||
wet-noun coinage.
|
||||
- **Meaning decomposed before surface:** the empire's stance is
|
||||
*non-recognition*: native nations are "disease, criminal ecology, or
|
||||
imperial tissue awaiting correction"; unification is "biologically
|
||||
inevitable". So the exonym should classify natives as *not-yet-incorporated
|
||||
tissue* or *contamination*, not as a people who happen to be foreign. It
|
||||
should be usable in doctrine and in accusation (dissenters are "infected").
|
||||
Open: does the word split native Airawa from the disconnected networks (A3)
|
||||
or is it a single catch-all? The empire denies the networks exist, so the
|
||||
catch-all risks naming what the doctrine says does not exist.
|
||||
- **Sound rules that apply:** R-N (exonym). The provisional R-A list governs
|
||||
*native* Airawa, not the imperial register. There is no imperial phonology
|
||||
rule yet, so any sound argument for `Tkarzet` is by analogy to R-A1/R-A2.
|
||||
`Tkarzet` opens with a `tk` cluster that appears nowhere else in the
|
||||
candidate set or the slice lexicon; it either marks the imperial register as
|
||||
phonotactically different (good if intended) or is a stray.
|
||||
- **Reject if:** it is a bare monosyllabic-looking root with no clausal or
|
||||
administrative structure (the imperial register is clausiform); it is simply
|
||||
a native word borrowed with harsher spelling (R-A5's reverse: the imperial
|
||||
word should not accidentally be a native one); it gives the natives a
|
||||
sovereign-people gloss, contradicting the doctrine; the owner decides the
|
||||
imperial register needs a distinct sound system and the candidate cannot be
|
||||
defended against it.
|
||||
|
||||
---
|
||||
|
||||
## Sa'ueia family-unit and ecological contexts
|
||||
|
||||
Common context: the Sa'ueia civilization is mobile, family-unit based
|
||||
(squad-sized groups doing kinship, craft, diplomacy and oaths together), with
|
||||
sacred communal breeding grounds and reciprocal ecological partners. A name
|
||||
earns its place by revealing the ecological deal, reproductive pressure,
|
||||
memory technology or route consequence (`language-design.md`, design target).
|
||||
The sound rules available are R-S1..R-S8 and R-A5; the inventory, syllable
|
||||
shapes and stress are still open.
|
||||
|
||||
### S1. Sa'ueia self-name (candidates: `Ellumaiwa`, `Sauwele`) — DRAFT
|
||||
|
||||
```yaml
|
||||
target:
|
||||
kind: endonym; family-unit scale, not species scale (open)
|
||||
canon_source: Species/Sa'ueia; Civilizations/Sa'ueia Family Units
|
||||
provisional_english_handle: "the Sa'ueia as a family-unit people"
|
||||
```
|
||||
|
||||
- **Speaker:** a Sa'ueia family unit speaking as itself (family-self scale),
|
||||
possibly on behalf of the wider people.
|
||||
- **Addressee:** other family units meeting on a route or at a breeding
|
||||
ground; and ecological partners that keep memory of it (reputation is
|
||||
held by partners, not only by humans).
|
||||
- **Register:** family-unit speech, relational and portable; a name that
|
||||
survives travel and can be re-presented to a partner that remembers you.
|
||||
- **Meaning decomposed before surface:** the vault makes the family unit the
|
||||
carrier of standing, and standing is the partners' memory of generosity. So
|
||||
a self-name probably means something like *those who return and are
|
||||
recognized as beneficial* / *the traveling reciprocal*, not *the people of a
|
||||
place*. Scope fork: the continent-scale word "Sa'ueia" already exists in the
|
||||
vault as the species/continent ethnonym; the candidates may be (a) family-unit
|
||||
*kind* names, (b) nicknames for the people derived from it, or (c) a
|
||||
competing ethnonym. This needs `vq-name-scope` before judging.
|
||||
- **Sound rules that apply:** R-S1, R-S2, R-S4, R-S5, R-S7; R-A5 as a negative check.
|
||||
- **Per-candidate read (judgment, then the letter rules):**
|
||||
- `Ellumaiwa`: long, open, liquid-heavy. Fails R-S7: `ll` is a doubled
|
||||
letter inside a morpheme, with no join to merge it, unless the form
|
||||
is parsed as `el`+`lumaiwa` (then the merge rule would give `elumaiwa`).
|
||||
Also 9 letters, near the R-S5 bound. Needs a respelling or a parse, not a
|
||||
patch.
|
||||
- `Sauwele`: short, open vowels and `w`, `l`; passes R-S4/R-S5/R-S7, but it
|
||||
begins `Sa-u-` exactly like `Sa'ueia`. Reads as a respelling or derivation
|
||||
of the existing name rather than an independent self-name.
|
||||
- **Reject if:** the owner has not decided the target scale; `Sauwele` is
|
||||
accepted without a recorded derivation from `Sa'ueia` (otherwise it is an
|
||||
accidental duplicate); either name decomposes to "wolf-like", "pack" or
|
||||
"nomad" (the vault warns the wolf comparison explains only part of them, and
|
||||
"nomad" is a camera-angle word); it cannot take a family-specific modifier
|
||||
when a particular unit needs naming.
|
||||
|
||||
### S2. Breeding ground (`Olune`, Deru's root; `Oluneihe` withdrawn) — DRAFT
|
||||
|
||||
```yaml
|
||||
target:
|
||||
kind: place-name / commons name, ritual register
|
||||
canon_source: Ecology/Breeding Grounds
|
||||
provisional_english_handle: "breeding ground"
|
||||
```
|
||||
|
||||
- **Speaker:** a Sa'ueia family unit returning to a ground; and the ground's
|
||||
year-round occupants (infants, infirm, caretakers, rotating specialists).
|
||||
- **Addressee:** other family units, partners that remember them, and the
|
||||
occupants when arrival is announced.
|
||||
- **Register:** ritual-communal; the vault gives these as places of
|
||||
transition, mourning, dispute settlement, medical care and obligation
|
||||
renewal, so the name has some solemnity.
|
||||
- **Meaning decomposed before surface:** *commons* is the key axis: it is not
|
||||
property, not a seat, not a nursery run by an empire. The name should mark a
|
||||
place that *remains* (occupied all year) while the people circulate, and that
|
||||
gathers reproduction, care, memory and law. It must distinguish itself from
|
||||
camp, route and partner site (the Simulation Brief explicitly asks what makes
|
||||
these visibly different). If the name is a *kind* name, it has to be
|
||||
generic enough to name every ground; if it names one ground, it needs a
|
||||
proper-name layer.
|
||||
- **Sound rules that apply:** R-S1, R-S2, R-S3, R-S4, R-S8.
|
||||
- **Read:** the target already has a name from Deru: `olune`, breeding ground
|
||||
(R-S8), unanalyzed. The earlier candidate `Oluneihe` is withdrawn: it
|
||||
contains `h`, which R-S4 forbids, and its stem `Olune` is Deru's own root, so
|
||||
the candidate only added a suffix to a word that already answers the brief.
|
||||
What remains open for this brief is whether `olune` is the kind-word, a
|
||||
single ground's name, or needs a proper-name layer; and its morpheme
|
||||
boundaries, which Deru has not given.
|
||||
- **Reject if:** any proposed form contains `h`, `q` or `y`; it decomposes to
|
||||
"home", "village", "city" or "capital" (the breeding ground failing as a
|
||||
capital is a stated system failure); it equals or contains the route word
|
||||
(S3) or the family self-name (S1), which would merge distinct targets; it is
|
||||
used for a camp; it replaces `olune` without Deru's say.
|
||||
|
||||
### S3. Route as obligation (no candidate) — DRAFT
|
||||
|
||||
```yaml
|
||||
target:
|
||||
kind: route-name; relation, not geography
|
||||
canon_source: Themes/Ecological Bargaining; Ecology/Reciprocal Ecologies
|
||||
provisional_english_handle: "route (as owed relationship)"
|
||||
```
|
||||
|
||||
- **Speaker:** a Sa'ueia family unit that holds or renews a route.
|
||||
- **Addressee:** other units; the ecological partners (feeding sites, groves,
|
||||
herds, pollinator corridors) that keep memory of how the unit travelled it.
|
||||
- **Register:** family-unit speech with some formality: this is a promise-bearing
|
||||
word. Possibly a seasonal/situational name (a route can open or close
|
||||
depending on remembered injury).
|
||||
- **Meaning decomposed before surface:** the key point is that *the route is a
|
||||
relationship that makes passage available*, not a path on the ground. A unit
|
||||
may be physically able to travel yet unwelcome (`Family Units`). The word
|
||||
should mean something like *the standing that lets us pass*; ideally it
|
||||
distinguishes *the way* from *the debt*. If both senses are one word, the
|
||||
language is making a commitment about their identity that the vault does
|
||||
not make.
|
||||
- **Sound rules that apply:** R-S2, R-S3 (route names read smooth), R-S4..R-S8. Also R-A5:
|
||||
Sa'ueia route names are what Airawa native names must not accidentally
|
||||
resemble.
|
||||
- **Read:** `Ilawerum` is not a candidate. It is Deru's own composition,
|
||||
`ila` (walk) + `werum` (knowledge, verb form `weru`+`um`), glossed "walk of
|
||||
knowledge" (R-S8). It names a different thing, and the checker reproduces it
|
||||
as a fixed composition. Any route-as-obligation word should be built from
|
||||
Deru's roots or new roots she accepts, and must not be confused with, or
|
||||
collide with, `ilawerum`.
|
||||
- **Reject if:** it is `ilawerum` or only a respelling of it; it is a plain toponym (no debt sense); it is the same word as
|
||||
the breeding ground (S2) or shares its stem without a morphological reason;
|
||||
the owner decides route and obligation are two words and this is only one.
|
||||
|
||||
---
|
||||
|
||||
## Questions this raises (owners, not decisions)
|
||||
|
||||
- **Scope:** one word per ethnonym or per tribe/unit? (`vq-name-scope`.)
|
||||
- **First language:** Airawa vs imperial Airawa vs Sa'ueia vs a narrow
|
||||
naming-brief interlingua (`vq-first-language`; `state/map.yaml`). The Airawa
|
||||
briefs are better supported by existing sound evidence; the Sa'ueia briefs
|
||||
have only the working sound section, which leaves the inventory open.
|
||||
- **Sa'ueia open items** (inventory, syllable shapes, stress, apostrophe role,
|
||||
`weru` versus `wer-`) are Deru's; S1-S3 are judged on the letter rules only
|
||||
until she cuts them.
|
||||
- **Imperial register sound rules** for A4.
|
||||
- **`kh` in `Kharzdun`**: add to the Airawa inventory or respell.
|
||||
403
settings/rust-to-dust/imperial/language-design.md
Normal file
403
settings/rust-to-dust/imperial/language-design.md
Normal file
|
|
@ -0,0 +1,403 @@
|
|||
# Rust to Dust Imperial Language: Design Spec
|
||||
|
||||
Status: **DRAFT r0.** First conlang project for Rust to Dust. Nothing here is
|
||||
canon until the operator rules on it.
|
||||
|
||||
The language has no name. Its working slug is `rtd-imperial`. A name is owed
|
||||
and should come from the ontology and phonology below, as
|
||||
[setting.md](../setting.md) asks, not from an English label. Nothing here
|
||||
assigns one.
|
||||
|
||||
## How To Read This
|
||||
|
||||
Every claim carries a tag:
|
||||
|
||||
- **[E]** evidence. The source material says it, and the file is cited.
|
||||
- **[I]** invention. This draft proposes it. The operator can overrule it, and
|
||||
it is the part most worth attacking.
|
||||
- **[E→I]** an extension. The source gives a seed and this draft develops it.
|
||||
|
||||
Sources read: everything under `settings/rust-to-dust/` (`README`, `setting`,
|
||||
`aliens`, `story`, `battle-royale`, `language-design`), the house method in
|
||||
`settings/eusocial-interbeing/language-design.md`, and Weksa's
|
||||
`docs/language-model.md`, `interlingua-standard.md`,
|
||||
`best-modern-approach.md`, `multilingual-utterance-lowering.md` and
|
||||
`schemas/interlingua-packet.md`. The stance design is read from `main` (see Dependencies). The forge repos and
|
||||
Weksa `state/` and `docs/` hold no other Rust to Dust material: a forge search
|
||||
for the setting returned nothing outside Weksa. This draft therefore rests on
|
||||
about 440 lines of setting prose, and the invention share is large.
|
||||
|
||||
## 1. Speech Community
|
||||
|
||||
### Who speaks it [E]
|
||||
|
||||
The empire's aliens: reptilian, scale-decorating, aesthetics-as-moral-truth,
|
||||
honor as devotion to aesthetic perfection in a chosen field (`aliens.md`). The
|
||||
empire is galaxy-spanning, so the language is a **network language**. Its
|
||||
community is defined by the imperial cultural network (media, prestige,
|
||||
commerce), not by a homeland. Humans are not native speakers. They meet it
|
||||
through subtitles, memes and broadcasts, and their contaminated English is a
|
||||
separate register (`language-design.md`, Registers).
|
||||
|
||||
### Speech situations [E→I]
|
||||
|
||||
`language-design.md` lists registers. This draft turns each into a situation
|
||||
with a speaker, an addressee and a stake, because a register is a relationship
|
||||
and not a vocabulary list:
|
||||
|
||||
| Situation | Speaker → addressee | Stake | Source |
|
||||
|---|---|---|---|
|
||||
| Broadcast commentary | commentator → mass imperial audience, about a performer | rendering an aesthetic verdict in real time | E (battle-royale) |
|
||||
| High honor speech | warrior or master → rival, patron or witness | binding a vow, naming a performance | E (register list) |
|
||||
| Warrior discourse | practitioner ↔ practitioner of one field | form, discipline, challenge | E (register list) |
|
||||
| Commercial acquisition | buyer ↔ seller, or buyer → cultural object | access and integration phrased as uplift | E (setting: commerce as delivery rail) |
|
||||
| Panel-show media | host ↔ guest before an audience | turning the guest's stance into performance | E (story: the panel) |
|
||||
| Tourist admiration | tourist → anything | consuming a safe spectacle | E (aliens: tourists) |
|
||||
| Address to humans | any → human | uplift, fascination, appraisal | I |
|
||||
|
||||
The last row is added. The story's central irony is that the empire
|
||||
understands the father's refusal better than he understands the empire, so
|
||||
how imperial speakers address humans is a design surface, not an afterthought.
|
||||
|
||||
The first proving slice is **broadcast commentary** [E]: `battle-royale.md`
|
||||
names it as the runtime use, and it needs the fewest situations to be
|
||||
distinguishable by a reader.
|
||||
|
||||
### Status ladder [I]
|
||||
|
||||
The source gives status *signals* (scale decoration marks profession, class,
|
||||
rank, grief, celebrity, courtship, school, combat discipline, public
|
||||
obligation, commitments) and a *measure* (the more elaborate the decoration,
|
||||
the more visible the claim of virtue). It gives no ladder. The invention:
|
||||
status is two axes, not one.
|
||||
|
||||
- **Field.** The discipline one is devoted to (combat, speech, hosting, trade,
|
||||
politics, art). Honor is field-relative [E]. A master of one field has no
|
||||
rank in another.
|
||||
- **Standing in the field**, by *claim and demonstrated constraint*, not by
|
||||
force:
|
||||
1. **Unclaimed.** No decoration in a field. This is shameless, not neutral
|
||||
[E: unpainted = shamelessness].
|
||||
2. **Claimant.** Decorated, undemonstrated. Tourists live here: the claim is
|
||||
bought and the constraint never chosen [E: tourists buy a safe spectacle].
|
||||
3. **Practitioner.** Decorated, with constraint demonstrated in the field.
|
||||
4. **Master.** Constraint demonstrated before witnesses.
|
||||
5. **Exemplar.** Master whose form others cite.
|
||||
- **Bare-by-claim** is an exceptional state off the ladder, not a step on it.
|
||||
Going unpainted as an artistic claim that the performance alone is art is a
|
||||
provocation [E]. The grammar must be able to say it without saying
|
||||
"shameless".
|
||||
|
||||
The language's address and agreement system tracks **claim versus
|
||||
demonstrated constraint**, because that is what the source treats as the
|
||||
moral measure. A tourist's loud, expensive decoration is a *mismatch* the
|
||||
language can state, and the language carries that mismatch in the grammar
|
||||
itself.
|
||||
|
||||
Decoration is the primary status channel in the world. In speech it surfaces
|
||||
as address terms, honorific-like marking and metaphor (Section 4), not as a
|
||||
phoneme-level trick.
|
||||
|
||||
## 2. Phonology (provisional)
|
||||
|
||||
The source gives no phonetic profile. It poses the question
|
||||
(`language-design.md`, Open Questions) and says naming should follow from
|
||||
phonetics. House method (Zyphos) assigns Airawa hard dorsal and coronal
|
||||
edges and Sa'auei'a soft flow. This language must not collapse onto either
|
||||
[I].
|
||||
|
||||
### Design stance [I]
|
||||
|
||||
Three pressures from the source, turned into sound:
|
||||
|
||||
1. **Aesthetic devotion**: the language should sound *composed*. Prosody is
|
||||
deliberate, with controlled length, no clutter.
|
||||
2. **Chosen constraint is mastery**: constraint should be audible. Phonotactics
|
||||
are *tight*, so that a speaker visibly refrains from the permitted-in-vulgar
|
||||
alternatives.
|
||||
3. **Reptilian body** [E: reptilian]: the inventory leans on sustained
|
||||
fricatives, hisses and trills that a non-human vocal tract makes easy. The
|
||||
source does not specify a vocal tract. This is the weakest-evidenced
|
||||
choice and a human-pronounceable romanization is therefore required.
|
||||
|
||||
### Inventory (draft)
|
||||
|
||||
- **Stops** (voiceless only): `t`, `k`, `ʔ`. No voiced stops. This separates it
|
||||
from Airawa's `g d q`.
|
||||
- **Fricatives**: `s`, `ʃ`, `x`, `h`, with voiced `z`, `ʒ`. Fricatives
|
||||
contrast in **length**: short and held. Held fricatives are the language's
|
||||
main prosodic ornament and carry register weight (Section 3).
|
||||
- **Sonorants**: `n`, `m`, `l`, trilled `r`.
|
||||
- **Vowels**: `a`, `i`, `u`, `e`, each short or long. A long vowel is the
|
||||
other register-bearing length.
|
||||
- **Syllables**: `(C)V(C)`, coda `s n l ʔ` only. No clusters. The absence of
|
||||
clusters is the phonotactic form of "chosen constraint".
|
||||
|
||||
### Prosody [I]
|
||||
|
||||
- Stress and length are the speaker's expressive budget. In formal
|
||||
registers, *less* length variation reads as more command of the form. A
|
||||
commentator in broadcast register may spend length on a performer's
|
||||
moment, and an honor-speech speaker withholds it. Restraint is therefore
|
||||
audible without a phoneme change (Section 3).
|
||||
- Broadcast commentary has a lengthened, sibilant "announcer" delivery. Tourists
|
||||
over-lengthen. Master speech under-lengthens.
|
||||
|
||||
### Romanization and rendering [I]
|
||||
|
||||
An ASCII romanization is owed before any lowering output is scored: the
|
||||
lowering renders text, and the renderer for the audience needs
|
||||
a stable orthography. `ʃ ʒ x ʔ` need ASCII digraphs. The choice follows
|
||||
the Weksa pronunciation-lowering docs and belongs to a later cut.
|
||||
|
||||
### Open
|
||||
|
||||
- The inventory is a sketch, drawn from three pressures. It should be rerun
|
||||
after at least a hundred roots exist, not defended.
|
||||
- The source calls for names to "emerge from ontology and phonetics". This
|
||||
draft supplies phonetics, and the name waits for the first root set.
|
||||
|
||||
## 3. Register, Status and Restraint: Stance Explicit
|
||||
|
||||
### Weksa's constraint [E]
|
||||
|
||||
On `main`, `docs/interlingua-standard.md` carries
|
||||
a packet `stance`: **felt affect** (anger, fear, sadness, joy, disgust, surprise,
|
||||
contempt, affection, shame, as grades) and **`restraint`**, how much of the
|
||||
felt affect is held back (0 none, 1000 fully). It is felt, never displayed.
|
||||
How a feeling shows and how much leaks is cultural; each language's ontology
|
||||
maps felt affect and restraint to its own register. A held-back feeling is not
|
||||
a claim, so it is never a predication.
|
||||
|
||||
This language must therefore **mark stance explicitly in its own grammar**,
|
||||
and the marking is derived from the packet's `stance`, never from English
|
||||
register words in the source text.
|
||||
|
||||
### Why this language is the hard case for restraint [E→I]
|
||||
|
||||
For the empire, restraint is not suppression of a shameful interior. It is
|
||||
**the visible form of chosen constraint**, which is the moral proof of
|
||||
mastery [E]. So the map from `restraint` to surface is *inverted* relative to
|
||||
most human defaults:
|
||||
|
||||
- High restraint is the *display* of virtue. A fully restrained speaker with
|
||||
strong felt affect is exhibiting form.
|
||||
- Low restraint with strong affect is not honest. It is *vulgar* [E: "vulgar
|
||||
violence as failed form"; "collapse into mere function"].
|
||||
- Zero affect is not neutrality. It can read as an absence of devotion.
|
||||
|
||||
The deliberate consequence is that stance cannot be flattened to a politeness
|
||||
level. Two axes are needed, and the source's lens questions (elegant,
|
||||
disciplined, sincere, vulgar, memorable) ask for both.
|
||||
|
||||
### Obligatory categories [I]
|
||||
|
||||
Proposed grammatical commitments (the target-language selections that step 4
|
||||
of `language-model.md` demands). Each names the packet field that feeds it.
|
||||
|
||||
1. **Finish marking** on predicates: an obligatory grade-class drawn from
|
||||
`stance.restraint`, coarsened to a few classes. Working classes:
|
||||
*raw*, *held*, *finished*. The unmarked form does not exist: leaving it
|
||||
off is not neutrality but a gap that the community reads as vulgar.
|
||||
Feeds from: `stance.restraint`.
|
||||
2. **Leak channel**: how much felt affect shows *through* a high-restraint
|
||||
frame. Leak is not mapped to emotion words. It is mapped to **form
|
||||
choices**: clipped versus full inflection, length spent on a fricative,
|
||||
word choice within a field. This follows the standard's own example
|
||||
(anger leaking through clipped syntax is stance). Feeds from: felt affect
|
||||
grades against `restraint`.
|
||||
3. **Standing agreement** on referents: field and standing-in-field of a
|
||||
named performer, with the **claim/demonstrated** mismatch statable. Feeds
|
||||
from: speaker and scene features (Section 6).
|
||||
4. **Witness and form-evaluation**. Broadcast commentary is evaluative by
|
||||
situation. Evaluation is expressed as a **separate discourse layer**
|
||||
(a particle or clause layer), not as adjectives in the content: the
|
||||
lens questions [E] (elegant, disciplined, sincere, vulgar, memorable,
|
||||
promising, mastery, collapse) are the layer's open slots. It is
|
||||
kept apart from content because a held-back evaluation is not a claim
|
||||
about the world, and the interlingua keeps content and attitude
|
||||
separate. Feeds from: `discourse` features and the situation.
|
||||
5. **Evidential**: commentary asserts what the camera sees and *infers* the
|
||||
performer's sincerity. The inference must be marked, because the source
|
||||
puts sincerity in the performer, who is not the speaker and not available to
|
||||
telemetry. Feeds from: the evidentiality feature the standard already
|
||||
names.
|
||||
|
||||
### Register is a function of three inputs [I]
|
||||
|
||||
Register is not a setting on the speaker. It is selected from the pair
|
||||
(speaker's standing and community, scene relation to addressee and subject)
|
||||
and the situation, with stance as the final modulator. This is what
|
||||
`persona-drives-ontology` implies on `main` and what the
|
||||
`language-ontology` cut will implement as deterministic selection
|
||||
`select(profile, stance, speaker, scene)`. This spec supplies the **content
|
||||
of that selection table** for this language; it does not write the table.
|
||||
|
||||
Cases the table must cover first:
|
||||
|
||||
| Case | Expected pull |
|
||||
|---|---|
|
||||
| Commentator, high restraint, strong approval of a restrained low-means act | finished marking; evaluative layer foregrounded; length withheld |
|
||||
| Commentator, low restraint, strong approval | raw marking; the speaker is performing delight. Only permitted in tourist-adjacent registers |
|
||||
| Master addressing rival | held or finished; address by field and standing |
|
||||
| Tourist, any affect | claimant standing; over-lengthened; evaluation layer present but misapplied |
|
||||
| Host to a human guest on a panel | warmth and appraisal mixed: affection plus contempt at high restraint is the *normal* pairing. The guest's rejection is absorbed as form |
|
||||
|
||||
The last row is the story's turn written as a stance mapping, and is worth
|
||||
testing first: contempt and affection together, restrained, with the evaluation
|
||||
layer calling the rejection *sincere*.
|
||||
|
||||
## 4. Meaning Before Surface
|
||||
|
||||
The language is never produced by substituting English words with alien
|
||||
ones. The method is the Weksa path (`language-model.md`): packet, then
|
||||
ontology projection that can split, collapse or reweight concepts, then
|
||||
grammar commitments, morphology, phonology, surface.
|
||||
|
||||
### Concept splits and collapses [E→I]
|
||||
|
||||
The source names distinctions the language must make (`language-design.md`,
|
||||
Open Questions). Each is decomposed below into components so a lowerer can
|
||||
select a form from the packet's facts and not from a gloss.
|
||||
|
||||
| Distinction | Decomposition (hypothesis) | Needs from the packet |
|
||||
|---|---|---|
|
||||
| **victory** vs **mastery** vs **spectacle** vs **vulgar overmatch** | victory: outcome of a contest. mastery: outcome *plus* demonstrated chosen constraint. spectacle: attention drawn, independent of constraint. vulgar overmatch: means exceed the opposing means with no constraint chosen. | outcome; each party's means; whether the means were chosen |
|
||||
| **crude** vs **failed** | crude: sincere, unrefined, with form attempted. failed: form collapsed into mere function. | actor's means and discipline as facts; the stance of the performer is not available, so the ontology reads from conduct |
|
||||
| **resistance** admired and absorbable | resistance read as: threat, folk art, breakout talent (`battle-royale.md` commentary list). Choice depends on whether it centers a performer or a practice. | performer-centered vs distributed agency |
|
||||
| **public spectacle** vs **living practice** [E] | spectacle: meaning lives in a central performer. practice: meaning lives in relationships. The empire reads distributed cooperation as noise or misattributes it to a performer. | number and relation of agents; presence of a focal agent |
|
||||
| **unpainted**, split | shame / danger / contempt / rawness / refusal / purity (the source lists these senses). Different surface forms: the sense is selected by relation and stance, not by a gloss. | decoration state, scene relation, speaker stance |
|
||||
|
||||
### Scale decoration in grammar and metaphor [E→I]
|
||||
|
||||
Decoration is the language's central metaphor domain [E: used for rank,
|
||||
grief, celebrity and more]. Proposed uses, to be tested not asserted:
|
||||
|
||||
- **Address**: terms of address name a decoration claim ("the one marked for
|
||||
...") instead of a rank noun.
|
||||
- **Insult**: lack, mismatch or fraud of decoration (a claim not backed by
|
||||
constraint). The strongest insult is the claimant who is also vulgar.
|
||||
- **Praise**: finish, as in a surface completed.
|
||||
- **Metaphor**: grief and obligation are *worn*. A human speaking of loss
|
||||
reads, in this language, as a person visibly undecorated by it.
|
||||
|
||||
The source does not say whether the language has these metaphors. They are
|
||||
the draft's strongest invention and the easiest to overrule.
|
||||
|
||||
### Root families [I]
|
||||
|
||||
House method: faint family resemblance, never a nametag. No roots are
|
||||
proposed here. The first root set should come from the field concepts
|
||||
(combat, speech, hosting, trade, art) and the constraint/finish axis, and
|
||||
should be minted against corpus items, not authored in a vacuum.
|
||||
|
||||
### Contamination direction [E]
|
||||
|
||||
What leaks into human English first (`language-design.md`) is an open
|
||||
question. [I] Candidates are evaluation-layer particles (the empire's form
|
||||
verdicts become meme tags) and the claim/finish vocabulary, because the
|
||||
story's kids absorb *prestige codes* first. The subtitle renderer is a
|
||||
separate target profile and not this spec's job.
|
||||
|
||||
## 5. Evidence and Invention, Summarized
|
||||
|
||||
**Evidence-backed (E):**
|
||||
- reptilian, aesthetic-honor, decoration-as-status speakers; unpainted as
|
||||
profound shamelessness; unpainted-as-provocation for a rare few
|
||||
- mastery requires chosen constraint; overmatch and tourists are vulgar; the
|
||||
lens questions
|
||||
- the empire is a network; commerce carries, culture conquers; the registers
|
||||
listed
|
||||
- broadcast commentary and flavor-first subtitles as the runtime use
|
||||
- the packet has `stance` with felt affect and restraint; the ontology maps
|
||||
them (on `main`)
|
||||
|
||||
**Invention (I):**
|
||||
- the two-axis status ladder and the claim/demonstrated-constraint mismatch
|
||||
- the whole phonological inventory and prosody
|
||||
- the five obligatory categories and the inverted restraint reading
|
||||
- the decoration-grammar and metaphor uses
|
||||
- the speech situations table, notably the address-to-humans row
|
||||
- the contempt-plus-affection panel pairing
|
||||
|
||||
**Not settled in the source and left open:**
|
||||
- the language's and speakers' names; the vocal tract; whether the empire is
|
||||
one language community or a family of dialects; whether non-reptilian
|
||||
imperial subjects speak it and how it marks them
|
||||
|
||||
## 6. What The Lowerer Must Provide
|
||||
|
||||
Interlingua rule [E]: the packet carries neutral meaning plus source-side
|
||||
communicative pressure, and target-language concept splits belong
|
||||
downstream. The earlier Rust to Dust sketch in `language-design.md` puts an
|
||||
`aesthetic_reading` block (form, discipline, spectacle, honor status) **in
|
||||
the packet**. This draft recommends moving it: those are the *imperial
|
||||
ontology's reading* of neutral facts, so they belong in the ontology
|
||||
projection, and the packet carries the facts the reading is derived from.
|
||||
[I] This is a change to existing content and the operator should rule on it.
|
||||
|
||||
Fields, in order of need. "Seed" means the standard's inventory already has
|
||||
a slot. "Gap" means the standard has no field yet; per the Promotion Rule,
|
||||
the gap is first an `rtd.*` extension and is promoted only after use in two
|
||||
real packets.
|
||||
|
||||
| Need | Why | Status |
|
||||
|---|---|---|
|
||||
| `stance` with felt affect and `restraint` | the whole of Section 3 | seed (on `main`) |
|
||||
| **speaker** axes: field, standing in field, school or lineage, decoration state, community | status and register selection | seed slot `Speaker` (still planned, cut `speaker-scene`); the *values* are the gap |
|
||||
| **scene**: relative status of speaker, subject and audience; audience composition (imperial, tourist, human via subtitles) | register and address | seed slot `Scene` (still planned, cut `speaker-scene`) |
|
||||
| `medium` and `setting` ids for broadcast commentary | situation selection | seed (`context`) |
|
||||
| `instrument` role on predications, **for each party** | overmatch is derived from both parties' means | seed role |
|
||||
| **volition of the constraint**: chosen / compelled / unknown, as a predication feature | the line between mastery and mere lacking | gap (`rtd.` extension first) |
|
||||
| **ordering of means** (power or means gap) | vulgar overmatch | not a packet field: ontology-side order over concept ids, so the packet carries concepts and the ontology compares them |
|
||||
| referent **decoration state** (decorated / unpainted / bare-by-claim / not applicable) | status, insult, the human-undecorated reading | gap (`rtd.` extension first) |
|
||||
| referent **community** or `member_of` relation | tourist versus warrior; human versus imperial | seed relation `member_of`; community ids come from the `language-ontology` cut |
|
||||
| **focal agent** presence | spectacle versus living practice | derivable: a predication with plural or no agent role; not a new field |
|
||||
| `evidentiality` | witnessed versus inferred sincerity | seed feature (to confirm its option set) |
|
||||
| `polarity`, tense, aspect | ordinary | seed |
|
||||
| `preserve` | which nodes the commentary must keep | seed (`constraints`) |
|
||||
|
||||
Fields the draft deliberately does **not** request: `aesthetic_reading`,
|
||||
`honor_status`, `spectacle_value` or any value judgment. The performer's
|
||||
sincerity is not telemetry, and the commentator infers it. These are
|
||||
outputs of the imperial ontology and must not be put into the packet by the
|
||||
client, or the client is deciding the language's concepts.
|
||||
|
||||
## 7. Dependencies, Risks and Next Cuts
|
||||
|
||||
**Dependencies.** Stance is on `main` (Weksa PR #3). Only the `Speaker` and `Scene`
|
||||
slots are still planned, under cut `speaker-scene`. The `language-ontology` cut
|
||||
(community and ontology-entry documents) is not landed. This spec states
|
||||
the content those cuts will hold, and does not substitute for them.
|
||||
|
||||
**Risks.**
|
||||
- The inventory and the grammar are heavily invented on thin evidence. Mitigation:
|
||||
tag everything (done) and test the five obligatory categories against the
|
||||
lowerer before building roots.
|
||||
- The claim-versus-constraint ladder risks making the language a *status-code
|
||||
detector*. The source's hold is that honor is devotion, not rank. Test:
|
||||
can the grammar say a bare-by-claim performance without calling it low?
|
||||
- Draft collided with `language-design.md`'s packet-side `aesthetic_reading`.
|
||||
Resolved by ruling `rtd-imperial-aesthetic-reading-to-ontology` (below).
|
||||
|
||||
**Next cuts, in order.**
|
||||
1. (done) Operator rulings on the four forks, recorded above.
|
||||
2. A first corpus slice: ten broadcast-commentary utterances, each decomposed
|
||||
to a packet (neutral facts plus stance), with the expected surface *category*
|
||||
(finish class, evaluation layer) and no words yet.
|
||||
3. The selection table for Section 3's first five cases.
|
||||
4. A root set from the field concepts, and a naming brief for the language.
|
||||
5. An orthography and a pronunciation lowering.
|
||||
|
||||
**Rulings (2026-11-05, all in force).** The four forks are answered. Their
|
||||
ids are in the mind's `weksa-body` campaign.
|
||||
- `rtd-imperial-aesthetic-reading-to-ontology`: `aesthetic_reading` leaves the
|
||||
packet and lives in the imperial ontology. The packet carries neutral facts
|
||||
plus stance; form, discipline, spectacle and honor status are the ontology's
|
||||
reading of them. Section 6 stands.
|
||||
- `rtd-imperial-two-axis-status`: status is two axes, field and standing, by
|
||||
claim versus demonstrated constraint.
|
||||
- `rtd-imperial-inverted-restraint`: restraint is the display of virtue; low
|
||||
restraint with strong affect is vulgar.
|
||||
- `rtd-imperial-human-stylized-tract`: the vocal tract is human-pronounceable
|
||||
stylization, with length as ornament.
|
||||
|
|
@ -52,7 +52,9 @@ Likely language-project registers:
|
|||
|
||||
## Runtime Data Needs
|
||||
|
||||
Structured intent should carry neutral facts plus cultural annotations.
|
||||
Structured intent carries neutral facts plus stance. The imperial ontology
|
||||
derives form, discipline, spectacle and honor status from them downstream
|
||||
(see `imperial/language-design.md`, Section 6).
|
||||
|
||||
Example:
|
||||
|
||||
|
|
@ -62,13 +64,6 @@ Example:
|
|||
"act": "ambush",
|
||||
"actor": "father",
|
||||
"target": "imperial_guard",
|
||||
"aesthetic_reading": {
|
||||
"form": "raw",
|
||||
"discipline": "improvised",
|
||||
"spectacle_value": "high",
|
||||
"honor_status": "ambiguous",
|
||||
"aesthetic_promise": "rising"
|
||||
},
|
||||
"imperial_frame": "authentic_local_defiance"
|
||||
}
|
||||
```
|
||||
|
|
|
|||
|
|
@ -221,10 +221,10 @@ open_questions:
|
|||
- What is the minimal Rust to Dust language-project slice that proves the
|
||||
engine without hard-coding the setting into it?
|
||||
- What minimal Eusocial Interbeing language-project slice can prove naming for
|
||||
Airawa, Sa'auei'a, ecological partner, and imperial registers without
|
||||
Airawa, Sa'ueia, ecological partner, and imperial registers without
|
||||
collapsing them into one universal language?
|
||||
- Which Zyphos language project should be first: Airawa, imperial Airawa,
|
||||
Sa'auei'a, or a narrow naming-brief interlingua?
|
||||
Sa'ueia, or a narrow naming-brief interlingua?
|
||||
- What is the minimal Airawa starter lexicon and permission model needed to
|
||||
translate the first chieftain/visitor/mother-tree scene honestly?
|
||||
- How should Airawa encode honorable scars: bodily evidence, honor claim, debt
|
||||
|
|
|
|||
Loading…
Reference in a new issue