2.5 KiB
Architecture
Weksa is a language-intent engine: currently a state spine, pipeline map,
fixtures, ontology data and a planned service contract. No daemon runs; the
planned packet crate is crates/weksa (cut packet-store).
See Verse Service Contract for the CultCache/CultMesh authority map.
Objective
Build a procedural alien-language engine whose outputs are grounded in worldview, semantics, grammar, phonology, morphology, and history. Once a service is earned (planned), Weksa also turns writing plus agent state into typed conversational intent, then lowers that intent into written realizations, pronunciation plans, speech-provider requests, and utterance handoff documents.
Current Mechanism
There is no long-running runtime loop yet. The repo contains persistent state surfaces that define the intended data flow and the ownership boundaries future code must respect.
The first shared contract is the Interlingua Standard: clients submit interlingua packets before any language project projects them through its ontology.
Invariants
- Meaning precedes words.
- Ontology owns concept distinctions.
- Grammar owns obligatory expression.
- Morphology owns form families.
- Phonology owns sound legality.
- Diachrony owns plausible irregularity.
- Renderer owns output, not interpretation.
- Weksa owns conversational intent and utterance lowering.
- External speech providers own rendered audio, not meaning or delivery truth.
- AquaSynth owns learned utterance embeddings, synth controls, Faust compilation, and audio output.
Intended Change
Future implementation should turn the pipeline in state/map.yaml into a small,
inspectable daemon. The first executable slice should validate a tiny
interlingua packet, read a tiny language project definition, render glossed
output, lower an accepted intent into target-language realizations, optionally
project the accepted realization into a speech-provider request or
pronunciation/utterance handoff, and produce a trace explaining which stage made
each decision.
Runtime should be fast and deterministic. Model-assisted English decomposition belongs in authoring tools or offline import flows, not in the required hot path. See Runtime and Authoring Split.
Cut Line
Do not add a database, queue, plugin system, prompt framework, or adapter until the pipeline stage needing it is known.
Do not hard-code Rust to Dust, its aliens, or its aesthetic-honor ontology into the generic engine.