Soul scorer s3 Lows. words.rs no longer lists separators (_ and .) or defers to UAX #29, which splits Han, kana and Thai per character and made honest single-word glosses read as an n>=2 leak. A word is a run of letters, digits, marks and ZWNJ/ZWJ; a run of Han, kana, Thai, Lao, Khmer or Burmese is one word. Tests pin separators, marks, joiners, NFC, every range edge, and five sacrebleu 2.4.3 near-miss pairs (Ko, Tr, Fi, Th vowel-strip, Ja). 40 hand mutants killed.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
LanguageForms gains an optional Pronunciation: bare stress-marked IPA, ruled_by,
date, source and a rejected list. The store checks its shape and freezes a
ruling once set. pronounce() and `weksa lower --ipa` print the stored IPA of each
cited entity and refuse with NoPronunciation / NoEntityReferent; rejected
variants are never read. Nibu is the first entry: ˈnibu, rejected ˈnɪbu.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Nibu ruled "Nibu will prevent that to protect you." is not her voice. The
intervention row is now "{agent} will stop {patient}" and the proof packet no
longer fills the beneficiary role; a packet that does is refused as a role the
frame does not name, so a purpose is never silently dropped.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
lower() takes an EntityForms port (one entity by id; EntityStore implements it).
A referent with an entity renders as the first form stored under en-US, verbatim
and never re-cased at a clause start; the addressee stays "you". An entity the
port lacks, one with no en-US form, or a port read fault is refused by name.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Mark the edited imperial/language-design.md lines as proposal, cite the
full ruling id, drop chat memory ids from dao-ontology.md.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
check.py enforces no adjacent consonants, no identical adjacent vowels and
no q for both languages, and joins and checks every proposed name from
names.yaml. The superseded doubled-letter placeholder rule is deleted. Briefs
record Deru's 2026-11-06 answers as settled versus invented and list every
earlier candidate's result. One stray Sa'auei'a respelled.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
New dao-ontology.md: Dao as living well, painting as duty, unpainted as
heresy unless path-true, gauche when a statement borrows the look; native
terms as context-tagged readings with the chosen gloss recorded apart; claims
tagged E/I/E->I. language-design.md re-framed where it leaned on shame.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Slot::Scene, inventory revision 3 (relative_status, intimacy, in_group),
LoweringInput::with_scene validated like every feature list, V13 refuses a
relation without an addressee. Typed ids only; the English lowerer does not
render it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The example carried imperial_frame, an imperial-ontology reading, in the
client packet, contradicting rtd-imperial-aesthetic-reading-to-ontology.
Replace it with neutral facts plus stance and say why.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Oluneihe withdrawn (forbidden h; Olune is Deru's root). Ilawerum is Deru's
ila+werum, not a candidate. Ellumaiwa fails the no-doubled-letter rule.
Dozkai/Druzkai is two edits. Drop the no-phonology caveat and the spelling
state section (respell merged in Weksa #4, Zyphos #1).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
One brief per DRAFT name from weksa-body/zyphos-name-drafts: speaker,
addressee, register, meaning decomposition, applicable sound rules, and
reject conditions. Records the Sa'auei'a -> Sa'ueia rename state. No names
are canon.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Per ruling rtd-imperial-aesthetic-reading-to-ontology: the packet carries
neutral facts plus stance; the reading belongs to the imperial ontology.
Removes the runtime-data sketch block in rust-to-dust/language-design.md
and the rtd.aesthetic_reading extension example in interlingua-standard.md.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Drop the unmerged speaker-state wording (stance landed in PR #3; only
Speaker and Scene remain planned, cut speaker-scene) and record the four
rtd-imperial-* rulings in Section 7.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Spelling only, with Deru's permission (2026-11-04 #zyphos): language-design.md (6),
README.md (2), state/map.yaml (2) as scoped. Other hits left for a ruling.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Speech community and status ladder, phonology, stance/restraint marking,
meaning decomposition, and the packet fields the lowerer must provide.
Evidence and invention tagged throughout.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
No textual conflict except data/interlingua/inventory.cc (binary): regenerated as
the branch's rev 1 (61 entries) plus `weksa inventory proof` (rev 2, 7 entries).
Semantic breaks fixed: proof_packet() carries an empty Stance; `weksa lower`
re-admits the stored packet (idempotent) because validate no longer returns the
view; tests/lower.rs builds views through PacketStore::admit; seed_reseeded
expects seed plus proof revision. AGENTS.md records the CARGO_HOME requirement
and the proof packet key.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>