Weksa/state/map.yaml

295 lines
15 KiB
YAML

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.