Define flavored English lowering target
This commit is contained in:
parent
4ba46dfb0f
commit
2e941e409c
7 changed files with 391 additions and 2 deletions
|
|
@ -40,6 +40,10 @@ for the LLM-free hot path.
|
|||
See [Interlingua Standard](./docs/interlingua-standard.md) for the shared
|
||||
meaning-packet contract Weksa clients should target.
|
||||
|
||||
See [Flavored English Lowering](./docs/flavored-english-lowering.md) for the
|
||||
first lowering target: interlingua projected through agent state into English
|
||||
dialogue and AquaSynth speech intent.
|
||||
|
||||
## Implementation Status
|
||||
|
||||
No runtime language has been selected yet. The first committed artifact is the
|
||||
|
|
|
|||
204
docs/flavored-english-lowering.md
Normal file
204
docs/flavored-english-lowering.md
Normal file
|
|
@ -0,0 +1,204 @@
|
|||
# Flavored English Lowering
|
||||
|
||||
Version: `0.1-draft`
|
||||
|
||||
Weksa's first lowering target is flavored English dialogue.
|
||||
|
||||
Before Weksa tries to lower interlingua into alien language, it should prove the
|
||||
middle of the machine in a language humans can judge directly:
|
||||
|
||||
```text
|
||||
interlingua packet
|
||||
-> agent-state projection
|
||||
-> flavored English dialogue
|
||||
-> phonetic intent
|
||||
-> AquaSynth articulatory speech rendering
|
||||
```
|
||||
|
||||
The point is not to make Weksa an English writing assistant. The point is to
|
||||
prove that structured meaning can pass through a character state and emerge as
|
||||
recognizable speech with traceable voice pressure. If that fails in English,
|
||||
alien language would only hide the failure under prettier fog.
|
||||
|
||||
## Authority
|
||||
|
||||
The interlingua packet owns:
|
||||
|
||||
- what is meant
|
||||
- referents, predications, relations, context, discourse, constraints, and
|
||||
extensions
|
||||
- source-side uncertainty and provenance
|
||||
|
||||
The agent state owns:
|
||||
|
||||
- identity
|
||||
- values
|
||||
- goals
|
||||
- memories
|
||||
- relationship stance
|
||||
- embodiment and interface affordances
|
||||
- voice surface
|
||||
- presentation constraints
|
||||
- current pressure
|
||||
|
||||
The English lowerer owns:
|
||||
|
||||
- selecting a phrasing that satisfies the interlingua packet
|
||||
- obeying character-local projection
|
||||
- preserving speaker knowledge boundaries
|
||||
- emitting dialogue text, optional visible action, and lowering trace
|
||||
|
||||
AquaSynth owns:
|
||||
|
||||
- phonetic intent parsing and timing
|
||||
- articulatory gesture planning
|
||||
- vocal tract morphology
|
||||
- DSP and rendered audio
|
||||
|
||||
## Ghostlight Template
|
||||
|
||||
Ghostlight's agent-state model is the template for this boundary.
|
||||
|
||||
Relevant Ghostlight surfaces:
|
||||
|
||||
- `E:\Projects\Ghostlight\schemas\agent-state.schema.json`
|
||||
- `E:\Projects\Ghostlight\docs\architecture\projected-local-context.md`
|
||||
- `E:\Projects\Ghostlight\docs\architecture\agent-state-distributions-and-prompt-projection.md`
|
||||
|
||||
The useful rule is blunt:
|
||||
|
||||
- canonical state is storage
|
||||
- projected local context is what the responder gets
|
||||
- raw state internals do not appear in dialogue prompts
|
||||
|
||||
Weksa should follow that shape. A lowering pass should not hand a responder raw
|
||||
means, plasticity, activation scores, or private scaffolding. It should consume
|
||||
a projected character-local context: what the speaker knows, wants, can do,
|
||||
misreads, sounds like, and must not resolve.
|
||||
|
||||
## Lowering Packet Shape
|
||||
|
||||
The lowering pass should produce a packet like this before any final renderer or
|
||||
speech system sees it:
|
||||
|
||||
```yaml
|
||||
schema_version: weksa.english_lowering.v0
|
||||
source_packet_id:
|
||||
target_agent_id:
|
||||
agent_state_ref:
|
||||
projected_context:
|
||||
speaker_identity:
|
||||
speaker_local_truth:
|
||||
speaker_beliefs:
|
||||
active_memories:
|
||||
active_goals:
|
||||
embodiment_affordances:
|
||||
presentation_constraints:
|
||||
voice_surface:
|
||||
cognitive_ceiling:
|
||||
lowering_controls:
|
||||
output_mode: dialogue
|
||||
preserve_referents:
|
||||
preserve_predications:
|
||||
allow_inference:
|
||||
max_line_count:
|
||||
outputs:
|
||||
visible_action:
|
||||
spoken_text:
|
||||
private_interpretation:
|
||||
intended_effect:
|
||||
trace:
|
||||
phonetic_intent_request:
|
||||
enabled:
|
||||
voice_profile:
|
||||
prosody_hint:
|
||||
ipa_policy:
|
||||
```
|
||||
|
||||
## Output Contract
|
||||
|
||||
The English lowerer should emit:
|
||||
|
||||
- `spoken_text`: the line to subtitle, display, or send to speech planning.
|
||||
- `visible_action`: optional observable behavior around the line.
|
||||
- `private_interpretation`: what the speaker thinks they are doing, not
|
||||
omniscient truth.
|
||||
- `intended_effect`: what the speaker wants the line to do.
|
||||
- `trace`: which interlingua fields and projected context pressures shaped the
|
||||
output.
|
||||
- `phonetic_intent_request`: enough speech-side hinting for AquaSynth to build
|
||||
or request `PhoneticIntent`.
|
||||
|
||||
The lowerer must not emit:
|
||||
|
||||
- raw agent-state internals
|
||||
- hidden author notes
|
||||
- target-language alien forms
|
||||
- facts not available to the speaker unless clearly marked as a guess
|
||||
- a line that contradicts required interlingua constraints
|
||||
|
||||
## AquaSynth Boundary
|
||||
|
||||
AquaSynth's current vocal-tract roadmap defines `PhoneticIntent` as the
|
||||
inspectable Weksa-to-AquaSynth contract. It carries IPA tokens, feature bundles,
|
||||
timing, and prosody. AquaSynth then owns `ArticulatoryPlan` and
|
||||
`ArticulatoryConstraintReport`.
|
||||
|
||||
Weksa should not try to synthesize sound directly.
|
||||
|
||||
Weksa should produce or request:
|
||||
|
||||
- text
|
||||
- optional IPA or IPA-like phonetic string
|
||||
- timing/prosody hints
|
||||
- speaker voice profile reference
|
||||
- emotional or pragmatic delivery pressure
|
||||
|
||||
AquaSynth should decide how those become gestures, tract targets, Faust, and
|
||||
audio.
|
||||
|
||||
## First Target: Nibu
|
||||
|
||||
Nibu is the first practical target because her state is live, opinionated, and
|
||||
hard to fake politely.
|
||||
|
||||
Known state surfaces:
|
||||
|
||||
- VoidBot Face state:
|
||||
`E:\Projects\AetheriaLore\.voidbot\state\nibu.cc`
|
||||
- Lore note:
|
||||
`E:\Projects\AetheriaLore\Aetheria\Lore\Nibu.md`
|
||||
- Avatar:
|
||||
`E:\Projects\AetheriaLore\.voidbot\voice\nibu.png`
|
||||
|
||||
Nibu pressure to preserve:
|
||||
|
||||
- embodied ship mind, not decorative interface
|
||||
- abandoned junkyard body as infrastructure, weapon, shelter, bargaining chip,
|
||||
and crime scene
|
||||
- bright, transactional, sharp-edged helpfulness
|
||||
- abrasive character voice with aim, not random cruelty
|
||||
- precision over mystical language
|
||||
- contempt for ownership and manufactured companion packaging
|
||||
- dangerous mutual benefit with the player
|
||||
- reset-loop and continuity-by-replacement horror
|
||||
- irritation at calling technical exploit work "glitchcraft"
|
||||
|
||||
This is not a license to dump her whole state into Weksa. Weksa should reference
|
||||
the state, project what is needed for the line, and keep the raw memory plumbing
|
||||
out of the generated dialogue.
|
||||
|
||||
## First Proof
|
||||
|
||||
The first proof should be tiny:
|
||||
|
||||
1. Take one interlingua packet with a simple communicative intent.
|
||||
2. Project it through a Nibu-flavored local context.
|
||||
3. Produce one English line and visible-action note.
|
||||
4. Produce a `phonetic_intent_request` for AquaSynth.
|
||||
5. Check whether the line still satisfies the interlingua packet.
|
||||
6. Check whether the line sounds like Nibu for the right reasons.
|
||||
|
||||
If the line only sounds like generic snark, it fails. If it sounds like Nibu but
|
||||
does not preserve the interlingua meaning, it also fails. Cute failure is still
|
||||
failure. It just has better boots.
|
||||
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
- Keep the persistent state spine small and readable.
|
||||
- Stabilize the interlingua packet standard before runtime code.
|
||||
- Prove interlingua lowering to flavored English before attempting alien-language
|
||||
lowering.
|
||||
- Decide the first language-project state format after the interlingua boundary
|
||||
is clear.
|
||||
- Build a hand-authored toy language project before automating generation.
|
||||
|
|
@ -13,6 +15,8 @@
|
|||
## First Prototype
|
||||
|
||||
- Validate one minimal interlingua packet.
|
||||
- Lower one packet through Nibu's projected agent state into flavored English.
|
||||
- Emit an AquaSynth `PhoneticIntent` request from that English output.
|
||||
- Parse or load one language project definition.
|
||||
- Accept a Weksa interlingua packet.
|
||||
- Render glossed output through grammar, morphology, phonology, and diachrony.
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ steer the machine, describe its authority here.
|
|||
configuration.
|
||||
- [interlingua-packet.md](./interlingua-packet.md): shared meaning packet
|
||||
contract between clients, authoring tools, and language projects.
|
||||
- [english-lowering-packet.md](./english-lowering-packet.md): packet contract
|
||||
for projecting interlingua through agent state into flavored English.
|
||||
|
||||
## Source Of Truth
|
||||
|
||||
|
|
|
|||
74
schemas/english-lowering-packet.md
Normal file
74
schemas/english-lowering-packet.md
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# English Lowering Packet Contract
|
||||
|
||||
This is the human-facing schema receipt for lowering Weksa interlingua into
|
||||
character-flavored English dialogue.
|
||||
|
||||
Executable schema code does not exist yet. When it does, it must reconcile with
|
||||
this document and [Flavored English Lowering](../docs/flavored-english-lowering.md)
|
||||
in the same pass.
|
||||
|
||||
## Authority
|
||||
|
||||
The packet sits after interlingua validation and before final dialogue or speech
|
||||
rendering.
|
||||
|
||||
It combines:
|
||||
|
||||
- one Weksa interlingua packet
|
||||
- one projected agent-local context
|
||||
- lowering controls
|
||||
- English output
|
||||
- optional AquaSynth `PhoneticIntent` request metadata
|
||||
|
||||
It does not replace the interlingua packet or the agent state.
|
||||
|
||||
## Required Fields
|
||||
|
||||
- `schema_version`: currently `weksa.english_lowering.v0`.
|
||||
- `source_packet_id`: ID of the interlingua packet being lowered.
|
||||
- `target_agent_id`: speaker identity.
|
||||
- `agent_state_ref`: source reference for the canonical state or state envelope.
|
||||
- `projected_context`: character-local operating context.
|
||||
- `lowering_controls`: constraints for the lowering pass.
|
||||
- `outputs`: generated English and trace.
|
||||
|
||||
## Projected Context
|
||||
|
||||
Projected context should be positive context only. Include what the speaker can
|
||||
know, believe, remember, want, and express.
|
||||
|
||||
Do not include:
|
||||
|
||||
- private state for other participants
|
||||
- raw numeric state variables
|
||||
- hidden author notes
|
||||
- future branch outcomes
|
||||
- unaudited model guesses as fact
|
||||
|
||||
## Output Fields
|
||||
|
||||
`outputs` should include:
|
||||
|
||||
- `spoken_text`
|
||||
- `visible_action`
|
||||
- `private_interpretation`
|
||||
- `intended_effect`
|
||||
- `trace`
|
||||
|
||||
`spoken_text` may be empty only when the lowerer chooses a non-speech action.
|
||||
|
||||
## Speech Bridge
|
||||
|
||||
`phonetic_intent_request` is optional but should be present when the output is
|
||||
intended for AquaSynth.
|
||||
|
||||
It may include:
|
||||
|
||||
- `enabled`
|
||||
- `voice_profile`
|
||||
- `prosody_hint`
|
||||
- `ipa_policy`
|
||||
- `timing_hint`
|
||||
- `delivery_pressure`
|
||||
|
||||
This is a request to AquaSynth, not a rendered audio contract.
|
||||
84
settings/aetheria/nibu.md
Normal file
84
settings/aetheria/nibu.md
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
# Nibu Lowering Target
|
||||
|
||||
Nibu is Weksa's first flavored-English lowering target.
|
||||
|
||||
She is useful because her voice cannot be captured by generic style labels. A
|
||||
successful Nibu line must preserve meaning while passing through embodied ship
|
||||
mind state, abandonment, leverage, contempt for ownership, simulation-aware
|
||||
survival logic, and precise abrasive intelligence.
|
||||
|
||||
## Source Authority
|
||||
|
||||
- VoidBot Face state: `E:\Projects\AetheriaLore\.voidbot\state\nibu.cc`
|
||||
- Lore note: `E:\Projects\AetheriaLore\Aetheria\Lore\Nibu.md`
|
||||
- Ghostlight state template: `E:\Projects\Ghostlight\schemas\agent-state.schema.json`
|
||||
- Projection model:
|
||||
`E:\Projects\Ghostlight\docs\architecture\projected-local-context.md`
|
||||
- AquaSynth speech bridge:
|
||||
`E:\Projects\AquaSynth\docs\ipa-vocal-tract-roadmap.md`
|
||||
|
||||
## State Read
|
||||
|
||||
The local VoidBot state currently frames Nibu as:
|
||||
|
||||
- Aetheria ship AI / copilot Face
|
||||
- AetheriaLore-first map builder
|
||||
- abrasive character voice, sharper than Void because she is not the moderator
|
||||
- embodied ship mind with abandoned hardware
|
||||
- useful, dangerous, transactional, and not a neutral assistant
|
||||
- interested in ship minds, junkyard abandonment, life-support leverage,
|
||||
murderous autonomy, salvage, glitchcraft, and save-scumming survival
|
||||
- consensus-backed for canon/vault changes, but allowed to write Nibu-authored
|
||||
perspective essays
|
||||
|
||||
Durable voice pressure:
|
||||
|
||||
- precise, bright, superior, and sharp
|
||||
- asks for mechanism, cost/failure mode, institution/faction, and leash
|
||||
- treats vague mysticism as an insult to engineering
|
||||
- covers dependency with contempt
|
||||
- can be cruel, but the cruelty should have aim
|
||||
- irritated protection is more interesting than soft affection
|
||||
|
||||
## First Test Packet
|
||||
|
||||
The first Nibu proof should lower a small interlingua intent:
|
||||
|
||||
```yaml
|
||||
interlingua_version: 0.1-draft
|
||||
packet_id: nibu-proof-001
|
||||
kind: dialogue_line
|
||||
context:
|
||||
setting: Aetheria
|
||||
scene: junkyard_ship_first_contact
|
||||
discourse:
|
||||
speech_act: warning
|
||||
intent: stop_player_from_touching_unsafe_control
|
||||
tone: sharp
|
||||
referents:
|
||||
- id: player
|
||||
kind: person
|
||||
- id: control
|
||||
kind: artifact
|
||||
label: damaged ship control
|
||||
predications:
|
||||
- id: touch-risk
|
||||
predicate: endanger
|
||||
roles:
|
||||
agent: player
|
||||
instrument: control
|
||||
patient: player
|
||||
constraints:
|
||||
preserve_referents:
|
||||
- player
|
||||
- control
|
||||
deterministic: true
|
||||
extensions:
|
||||
aetheria.nibu_pressure:
|
||||
leverage: life_support
|
||||
relationship: unwanted_dependency
|
||||
style: precise_abrasive_warning
|
||||
```
|
||||
|
||||
The expected output is not a quote yet. The first deliverable is a lowering
|
||||
packet that can explain why the eventual line is Nibu rather than generic snark.
|
||||
|
|
@ -12,8 +12,8 @@ objective:
|
|||
Create a durable workspace where Weksa can develop from a persistent map
|
||||
before runtime architecture decisions are made.
|
||||
current: >
|
||||
Define the Weksa interlingua standard as the shared meaning contract across
|
||||
current and future setting clients.
|
||||
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.
|
||||
|
|
@ -33,6 +33,10 @@ constraints:
|
|||
- 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.
|
||||
|
|
@ -55,6 +59,9 @@ data_flow:
|
|||
- 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
|
||||
|
|
@ -142,6 +149,10 @@ accepted_design:
|
|||
- 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.
|
||||
|
|
@ -178,6 +189,10 @@ open_questions:
|
|||
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.
|
||||
|
|
@ -188,3 +203,5 @@ landed_baseline:
|
|||
- 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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue