Weksa/state/map.yaml
2026-05-19 15:03:12 +01:00

207 lines
9.1 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: >
Define the first lowering target: project interlingua through character
agent state into flavored English dialogue and AquaSynth speech intent.
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.
- Flavored English is the first lowering target. Alien-language lowering waits
until Weksa can preserve meaning through a character voice humans can judge.
- Agent state is projected context, not prompt prose storage. Raw state
internals must not leak into generated dialogue.
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 flavored English dialogue
- emit AquaSynth phonetic intent request for speech synthesis
- 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.
- English lowering through agent state is the first proof target before alien
language rendering.
- Nibu is the first target for flavored-English lowering, using her VoidBot
state and Aetheria lore note as source context.
- 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.
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?
- Which model provider and embedding strategy should be used for offline
semantic decomposition and critique?
- 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 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?
- How much phonetic intent should Weksa emit directly versus requesting from
AquaSynth after dialogue text exists?
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.
- Draft Weksa interlingua standard and packet schema receipt.
- Draft flavored-English lowering contract.
- Nibu lowering target note.