project: name: Weksa status: scaffolded phase: state_spine premise: > Build a procedural language engine that generates alien languages from explicit concepts, cultural constraints, grammar, phonology, morphology, and diachronic history instead of direct English word substitution. objective: primary: > Create a durable workspace where Weksa can develop from a persistent map before runtime architecture decisions are made. current: > Treat written output, AquaSynth utterance embeddings, and MiMo expressive speech requests as sibling target projections from accepted interlingua lowerings while keeping Weksa's ownership limited to inspected intent, delivery controls, and trace. constraints: - Runtime implementation language is undecided. - Do not add framework, package, build, CLI, or service scaffolding until the architecture earns it. - Neural models may decompose, suggest, generate, and critique; they do not own the canonical language state. - Runtime should accept interlingua packets and compiled project data; required hot-path rendering must not depend on arbitrary English interpretation or live LLM calls. - Setting-specific projects may pressure the engine, but their ontology must not become generic Weksa doctrine. - Zyphos / Eusocial Interbeing canon belongs to the Eusocial Interbeing vault; Weksa should consume it through explicit naming and language-design briefs. - Explicit project state must distinguish durable decisions from scratch. - Avoid direct English-to-alien word replacement as the core design. - The interlingua must stay language-neutral. Setting-specific pressure starts in namespaced extensions and only becomes standard when multiple clients or language projects need it. - Human target-language utterance lowering is the first proof layer. English, Brazilian Portuguese (`pt-BR`), and Japanese are the initial targets. Alien-language lowering waits until Weksa can preserve meaning through character voice, target cultural ontology, and realization choices humans can judge. - Agent state is projected context, not prompt prose storage. Raw state internals must not leak into generated dialogue. - AquaSynth owns IPA, phoneme, reference-synth, vocal-tract, and speech parity work. Weksa owns interlingua-to-utterance projection. - Weksa still owns English pronunciation planning: tokenization, word pronunciations, phrase grouping, stress, and broad IPA stringing. - Long-term speech handoff should use Weksa-provided speech text embeddings, prosody/emphasis hints, and Ghostlight/Epiphany-shaped character-state vectors; AquaSynth owns the learned utterance embedding encoder, gradient descent, and synth-control decoding. - MiMo V2.5 TTS VoiceDesign is an external speech-provider target. Weksa may project an accepted target-language realization plus the same speaker-local delivery intent used to create it into a MiMo voice design request, but MiMo owns only provider rendering and audio output. - Large offline text-embedding jobs should use `bge-m3` on the neighboring Ollama inference box documented in `E:\Projects\gamecult-ops` rather than running on the local Weksa workspace by default. invariants: - Ontology owns meaning. - Grammar owns required expression. - Phonology owns sound shape. - Morphology owns derivation, inflection, compounding, and root families. - Diachrony owns historical distortion, semantic drift, register split, loan strata, and irregularity. - Renderer owns surface text and glosses from already-structured meaning. - Persistent state owns durable maps, accepted decisions, open questions, evidence, and working memory. - Scratch is disposable; the map is slow-changing. data_flow: observe: - source utterance - interlingua packet - translation context - world model - existing language project state process: - accept or decompose source into a Weksa interlingua packet - optionally project the packet through an agent-local state context - lower projected meaning into target-language utterance realizations through explicit target-language cultural ontology profiles - optionally produce pronunciation plans for lowered dialogue where Weksa owns the target pronunciation layer - optionally encode the line as a learned expression vector for downstream synth control - optionally project an accepted realization into a provider-specific speech request such as MiMo VoiceDesign without making the provider an owner of source meaning - apply alien ontology and cultural salience - select grammatical commitments - derive morphology and lexical families - apply phonological constraints - apply diachronic history - render surface alien text, gloss, and explanation cut: - remove stages that do not own a clear invariant - reject generic adapters until a real external boundary exists - keep model prompts as replaceable tools, not hidden sources of truth pipeline: stages: - id: source-input title: Source Input owns: raw utterance and context emits: source packet invariant: input text remains recoverable as evidence - id: interlingua title: Meaning Interlingua owns: structured semantic representation emits: concept/event graph invariant: meaning is explicit before alien rendering - id: ontology title: Alien Ontology owns: concept splits, collapses, salience, and worldview pressure emits: alien concept frame invariant: alien worldview decides which distinctions matter - id: grammar title: Grammar owns: required expression, syntax, agreement, and clause structure emits: grammatical plan invariant: surface output carries required commitments - id: morphology title: Morphology owns: roots, derivation, inflection, compounds, and families emits: morpheme plan invariant: related forms remain related for a reason - id: phonology title: Phonology owns: legal sounds, syllables, phonotactics, and prosody emits: legal proto-forms invariant: generated forms belong to one sound system - id: diachrony title: Diachrony owns: historical sound change, semantic drift, registers, loans, scars emits: attested forms invariant: plausible irregularity comes from history, not decoration - id: renderer title: Renderer owns: surface alien text, glosses, and analysis output emits: final translation packet invariant: rendering does not invent meaning edges: - source: source-input target: interlingua carries: source packet - source: interlingua target: ontology carries: concept/event graph - source: ontology target: grammar carries: alien concept frame - source: grammar target: morphology carries: grammatical plan - source: morphology target: phonology carries: morpheme plan - source: phonology target: diachrony carries: legal proto-forms - source: diachrony target: renderer carries: attested forms accepted_design: - Weksa starts with a language-neutral persistent state spine rather than a runtime scaffold. - The EpiphanyAgent pattern is ported as architecture discipline, not as Rust code or product-specific organs. - The first model is concept-first translation through an explicit interlingua, ontology, grammar, morphology, phonology, diachrony, and renderer pipeline. - The interlingua packet is the client-facing meaning contract. It owns referents, predications, relations, discourse, context, provenance, constraints, extensions, and trace data before ontology projection. - Utterance lowering through projected agent state is the first proof target before alien language rendering. English remains one target, not the hidden source for other target languages. - Nibu is the first target for flavored-English lowering, using her VoidBot state and Aetheria lore note as source context. - Target-language cultural ontology profiles own address, politeness, register, idiom, metaphor, script, and forbidden-flattening distinctions for human-language lowering. They do not own source meaning. - Weksa is the engine. A language project owns one constructed language. Setting docs own story, species, culture, and use cases. - Rust to Dust is an earlier proving ground, not engine doctrine. - Zyphos / Eusocial Interbeing is now the higher-priority setting target for Weksa naming and language-design work. - Time-sensitive runtime paths should be deterministic and LLM-free. Model-assisted decomposition, generation, and critique belong in authoring or offline workflows. - `docs/best-modern-approach.md` is the current doctrine for conceptual ontology, root generation, morphology, syntax, lexical semantics, interlingua, diachrony, and model-assisted consistency. - Eusocial Interbeing is a second setting collaboration surface. It needs inhabitant-language names derived from speaker ontology, register, phonology, morphology, diachrony, and setting context rather than direct English label translation. - Airawa first-contact work should begin with social mechanics rather than scenery vocabulary: identity, formal naming, origin, approach permission, border-right, peace claim, obligation, gratitude/debt, witness, authority, guest status, mother-tree access, nutrient gift, and taboo delivery. - The current Airawa starter forms are provisional seed evidence, not canon. They must be promoted through a language-project state that explains their morphology, phonology, grammar, and allowed usage before Weksa claims clean full translation. open_questions: - Which implementation language best serves the first usable engine? - What format should language projects use for ontology, grammar, phonology, morphology, and diachrony definitions? - What compiled runtime bundle format keeps game-time rendering fast and inspectable? - How should Weksa persist or cache speech text embeddings generated by `bge-m3` on the neighboring Ollama box before AquaSynth turns them into utterance embeddings? - How much deterministic validation belongs in v0? - 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 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? - 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 marker, warrior-status signal, or a split among those meanings? - What Weksa naming brief schema best serves nation-scale interbeings, ecological memory networks, and mobile family-unit civilizations? - Which interlingua fields should be promoted from namespaced extensions after the first real Zyphos and Rust to Dust packets? - What exact projected-context subset should Weksa accept from Ghostlight-style agent state for English lowering? - What exact pass/fail rubric proves a Nibu-flavored English line preserves interlingua meaning instead of merely sounding sharp? - What English G2P path should become executable first: CMUdict lookup plus ARPABET-to-IPA conversion, eSpeak NG oracle comparison, or a trained OOV model? - What training corpus should the first AquaSynth-owned utterance embedding encoder use now that the v0.1 handoff fixes Weksa inputs at 1024 + 32 + 64 floats and AquaSynth output at 64 floats? landed_baseline: - Language-neutral state spine. - Canonical pipeline map. - Scratch surface. - Schema receipt docs. - Rust to Dust setting documentation skeleton. - Eusocial Interbeing naming surface at settings/eusocial-interbeing. - Zyphos language-design pressure note. - Airawa first-contact slice recording room consensus on strong sound, introduction vocabulary, permission-bound dialogue, and the boundary against direct English-to-Airawa substitution. - Draft Weksa interlingua standard and packet schema receipt. - Draft flavored-English lowering contract. - Nibu lowering target note. - First English pronunciation plan fixture for Nibu proof output. - First toy utterance embedding handoff fixture for Nibu proof output. - First executable utterance handoff emitter at `tools/emit_tiny_panphon_handoffs.py`. - First executable utterance handoff fixture validator at `tools/validate_tiny_panphon_handoffs.py`, scoped to the tiny PanPhon v0.1 batch rather than promoted as a general schema runtime. - First machine-readable AquaSynth speech-training seed batch at `examples/speech-training/tiny-panphon-v0.1/batch.json`, covering pure IPA `a`, `pa`, `ta`, `ka`, `sa`, and `ma` with fixed v0.1 vector widths and PanPhon's 22-feature basis. - Weksa-to-AquaSynth utterance embedding handoff v0.1 fixes the training vector contract: 1024-float `bge-m3:latest` speech text embedding, variable-length PanPhon sequence evidence, a 256-float AquaSynth-owned phonetic realization embedding, 32-float prosody/emphasis hints, 64-float projected character state, and 64-float AquaSynth-owned utterance embedding output. Toy fixtures are marked non-training if they do not use those dimensions. - Speech text embedding and phonetic realization are separate channels. English text semantics may use `bge-m3`; IPA strings and alien phonetic material belong in PanPhon sequence evidence that AquaSynth compresses into the phonetic realization embedding. - MiMo V2.5 TTS VoiceDesign is accepted as a speech-provider target projection from Weksa utterance realizations. MiMo requests speak the accepted target text and receive Weksa-derived voice/style guidance from the same projected context that produced the utterance; backtranslations, provider tags, and fresh raw Persona interpretation do not become source meaning. - First Nibu interlingua-to-English lowering fixture. - First Nibu multilingual utterance lowering fixture at `examples/multilingual-lowering/nibu-proof-001/`, covering English, Brazilian Portuguese (`pt-BR`), and Japanese from one shared interlingua packet through explicit target-language cultural ontology profiles. - `bge-m3:latest` installed on neighboring Ollama box `192.168.1.84` and verified through a 1024-dimensional utterance embedding.