Split verbal response strategy from voice style

This commit is contained in:
Meta Vens 2026-05-01 19:49:42 +01:00
commit 010080be4b
9 changed files with 117 additions and 87 deletions

View file

@ -122,10 +122,7 @@ These describe how the performed self comes out in language:
- lyricism
- narrative detail
- emotional explicitness
- sarcastic deflection
- pointedness
- sincerity evasion
- emotional evasion
- self disclosure
- hedging
- certainty marking
@ -136,21 +133,28 @@ These describe how the performed self comes out in language:
- dialect marking
- theatricality
- humor
- banter as boundary
- verbal aggression
- conversational dominance
- listening responsiveness
- question asking
- profanity
This layer matters because presentation strategy and voice are related but not
identical. Performing a prickly self may come out as dry sarcasm, clipped
literalism, theatrical disdain, or a flat refusal to offer emotional handles.
If the schema only stores the performed self, the renderer has to guess the
voice. That is how everyone becomes the same quippy little goblin with
different hats.
### 6. Verbal Response Strategy
### 6. Situational State
These describe pressure-activated speech moves:
- sarcastic deflection
- sincerity evasion
- emotional evasion
- banter as boundary
- verbal aggression
This layer matters because presentation strategy, voice, and verbal response
are related but not identical. Performing a prickly self may come out as dry sarcasm, clipped
literalism, theatrical disdain, or a flat refusal to offer emotional handles.
If the schema only stores the performed self, the renderer has to infer voice
and stress response from the same field.
### 7. Situational State
These are transient activations:
@ -165,7 +169,7 @@ These are transient activations:
- acute shame
- perceived status threat
### 7. Relationship State
### 8. Relationship State
Per target person, faction, group, product domain, or institution:
@ -181,7 +185,7 @@ Per target person, faction, group, product domain, or institution:
- expectation of care
- expectation of betrayal
### 8. Goals And Values
### 9. Goals And Values
- active goals
- protected values

View file

@ -165,10 +165,7 @@ quirks in the current examples.
| `lyricism` | Uses musical, poetic, sensuous, or rhythmically heightened language. |
| `narrative_detail` | Explains through context, sequence, anecdote, or concrete scene detail. |
| `emotional_explicitness` | Names feelings, needs, wounds, affection, fear, or attachment directly. |
| `sarcastic_deflection` | Uses sarcasm to redirect, dodge, or blunt sincerity, fear, gratitude, or pain. |
| `pointedness` | Cuts directly, sharply, or with barbed precision. |
| `sincerity_evasion` | Avoids emotionally plain or vulnerable language even when the feeling is present. |
| `emotional_evasion` | Avoids naming, dwelling in, or accepting emotional baggage. |
| `self_disclosure` | Volunteers personal history, inner state, motives, or private stakes. |
| `hedging` | Softens claims with uncertainty markers, caveats, deference, or exits. |
| `certainty_marking` | Signals confidence, finality, authority, or refusal to leave claims open. |
@ -179,13 +176,25 @@ quirks in the current examples.
| `dialect_marking` | Shows regional, class, occupational, subcultural, or community-specific speech markers. |
| `theatricality` | Performs speech with heightened drama, staging, persona, flourish, or rhetorical display. |
| `humor` | Uses jokes, wit, absurdity, teasing, or comic framing as a regular speech tool. |
| `banter_as_boundary` | Uses joking exchange to maintain distance while staying socially engaged. |
| `verbal_aggression` | Uses language to attack, intimidate, punish, or dominate. |
| `conversational_dominance` | Takes, holds, redirects, or controls conversational floor and agenda. |
| `listening_responsiveness` | Reflects, tracks, validates, or adapts to what the other person just said. |
| `question_asking` | Uses questions to probe, invite, corner, teach, test, or keep the other person talking. |
| `profanity` | Uses taboo, vulgar, sacred, or deliberately coarse language. |
## Verbal Response Strategy
Verbal response strategy describes pressure-activated speech moves. These are
not baseline voice texture; they are ways speech manages exposure, threat,
attachment pressure, shame, status, or control.
| Label | Meaning |
| --- | --- |
| `sarcastic_deflection` | Uses sarcasm to redirect, dodge, or blunt sincerity, fear, gratitude, or pain. |
| `sincerity_evasion` | Avoids emotionally plain or vulnerable language even when the feeling is present. |
| `emotional_evasion` | Avoids naming, dwelling in, or accepting emotional baggage. |
| `banter_as_boundary` | Uses joking exchange to maintain distance while staying socially engaged. |
| `verbal_aggression` | Uses language to attack, intimidate, punish, or dominate. |
## Situational State
| Label | Meaning |

View file

@ -49,6 +49,7 @@ Each agent has:
- `behavioral_dimensions`
- `presentation_strategy`
- `voice_style`
- `verbal_response_strategy`
- `situational_state`
- `values`
@ -95,7 +96,7 @@ The behavioral dimensions include the known must-not-drop set:
Those are not garnish. They are load-bearing social handles.
## Presentation Strategy Vs Voice Style
## Presentation, Voice, And Response
`presentation_strategy` describes the self being performed.
@ -122,10 +123,7 @@ The required voice handles are:
- `lyricism`
- `narrative_detail`
- `emotional_explicitness`
- `sarcastic_deflection`
- `pointedness`
- `sincerity_evasion`
- `emotional_evasion`
- `self_disclosure`
- `hedging`
- `certainty_marking`
@ -136,26 +134,31 @@ The required voice handles are:
- `dialect_marking`
- `theatricality`
- `humor`
- `banter_as_boundary`
- `verbal_aggression`
- `conversational_dominance`
- `listening_responsiveness`
- `question_asking`
- `profanity`
`verbal_response_strategy` describes pressure-activated speech moves:
- `sarcastic_deflection`
- `sincerity_evasion`
- `emotional_evasion`
- `banter_as_boundary`
- `verbal_aggression`
So Cat's prickliness is not only a dialogue prompt instruction. It is backed by
canonical state:
- high `presentation_strategy.abrasive_boundary`
- high `presentation_strategy.ironic_distance`
- high `voice_style.sarcastic_deflection`
- high `voice_style.sincerity_evasion`
- high `voice_style.emotional_evasion`
- high `verbal_response_strategy.sarcastic_deflection`
- high `verbal_response_strategy.sincerity_evasion`
- high `verbal_response_strategy.emotional_evasion`
The renderer can then translate that state into lines that dodge sincerity with
pointed sarcasm without making her cruel at random. The goal is not "be snarky."
The goal is "protect the soft tissue by making the other person deal with the
spines first."
The renderer can then combine the performed self, baseline voice, active stress,
and response strategy into dialogue without treating every defensive move as a
permanent voice trait.
## Perceived State

View file

@ -329,36 +329,11 @@
"plasticity": 0.31,
"current_activation": 0.78
},
"sarcastic_deflection": {
"mean": 0.84,
"plasticity": 0.2,
"current_activation": 0.93
},
"pointedness": {
"mean": 0.77,
"plasticity": 0.25,
"current_activation": 0.82
},
"sincerity_evasion": {
"mean": 0.8,
"plasticity": 0.24,
"current_activation": 0.87
},
"emotional_evasion": {
"mean": 0.78,
"plasticity": 0.27,
"current_activation": 0.85
},
"banter_as_boundary": {
"mean": 0.74,
"plasticity": 0.31,
"current_activation": 0.8
},
"verbal_aggression": {
"mean": 0.46,
"plasticity": 0.42,
"current_activation": 0.5
},
"plainspoken_directness": {
"mean": 0.62,
"plasticity": 0.33,
@ -469,6 +444,33 @@
"plasticity": 0.38,
"current_activation": 0.57
}
},
"verbal_response_strategy": {
"sarcastic_deflection": {
"mean": 0.84,
"plasticity": 0.2,
"current_activation": 0.93
},
"sincerity_evasion": {
"mean": 0.8,
"plasticity": 0.24,
"current_activation": 0.87
},
"emotional_evasion": {
"mean": 0.78,
"plasticity": 0.27,
"current_activation": 0.85
},
"banter_as_boundary": {
"mean": 0.74,
"plasticity": 0.31,
"current_activation": 0.8
},
"verbal_aggression": {
"mean": 0.46,
"plasticity": 0.42,
"current_activation": 0.5
}
}
},
"goals": [
@ -818,36 +820,11 @@
"plasticity": 0.48,
"current_activation": 0.31
},
"sarcastic_deflection": {
"mean": 0.28,
"plasticity": 0.52,
"current_activation": 0.24
},
"pointedness": {
"mean": 0.24,
"plasticity": 0.5,
"current_activation": 0.22
},
"sincerity_evasion": {
"mean": 0.62,
"plasticity": 0.42,
"current_activation": 0.69
},
"emotional_evasion": {
"mean": 0.72,
"plasticity": 0.36,
"current_activation": 0.78
},
"banter_as_boundary": {
"mean": 0.45,
"plasticity": 0.48,
"current_activation": 0.49
},
"verbal_aggression": {
"mean": 0.09,
"plasticity": 0.52,
"current_activation": 0.05
},
"plainspoken_directness": {
"mean": 0.4,
"plasticity": 0.49,
@ -958,6 +935,33 @@
"plasticity": 0.39,
"current_activation": 0.03
}
},
"verbal_response_strategy": {
"sarcastic_deflection": {
"mean": 0.28,
"plasticity": 0.52,
"current_activation": 0.24
},
"sincerity_evasion": {
"mean": 0.62,
"plasticity": 0.42,
"current_activation": 0.69
},
"emotional_evasion": {
"mean": 0.72,
"plasticity": 0.36,
"current_activation": 0.78
},
"banter_as_boundary": {
"mean": 0.45,
"plasticity": 0.48,
"current_activation": 0.49
},
"verbal_aggression": {
"mean": 0.09,
"plasticity": 0.52,
"current_activation": 0.05
}
}
},
"goals": [

View file

@ -89,10 +89,7 @@
"lyricism",
"narrative_detail",
"emotional_explicitness",
"sarcastic_deflection",
"pointedness",
"sincerity_evasion",
"emotional_evasion",
"self_disclosure",
"hedging",
"certainty_marking",
@ -103,12 +100,17 @@
"dialect_marking",
"theatricality",
"humor",
"banter_as_boundary",
"verbal_aggression",
"conversational_dominance",
"listening_responsiveness",
"question_asking",
"profanity"
],
"verbal_response_strategy": [
"sarcastic_deflection",
"sincerity_evasion",
"emotional_evasion",
"banter_as_boundary",
"verbal_aggression"
]
}
}

View file

@ -167,6 +167,7 @@
"behavioral_dimensions",
"presentation_strategy",
"voice_style",
"verbal_response_strategy",
"situational_state",
"values"
],
@ -195,6 +196,9 @@
},
"voice_style": {
"$ref": "#/$defs/variable_map"
},
"verbal_response_strategy": {
"$ref": "#/$defs/variable_map"
}
}
},

View file

@ -12,3 +12,4 @@
{"ts": "2026-05-01T18:26:40+00:00", "type": "design", "status": "accepted", "note": "Reworked perceived dimensions so observer reads do not know canonical mean or plasticity. Perceived state now tracks observed_activation, attributed_disposition, and confidence to model fundamental attribution bias; confidence is driven by evidence, emotion, stakes, memory, prejudice, and social reinforcement."}
{"ts": "2026-05-01T18:35:51+00:00", "type": "design", "status": "accepted", "note": "Expanded voice_style from a narrow quirk set into a broad required communication vector covering register, pace, precision, disclosure, politeness, humor, dominance, responsiveness, and related speech mechanics."}
{"ts": "2026-05-01T18:42:59+00:00", "type": "design", "status": "accepted", "note": "Added explicit voice_style axes for lyricism, coded_politeness, theatricality, and technical_compression so the required vector preserves the intended speech examples rather than folding them into weaker adjacent labels."}
{"ts": "2026-05-01T18:49:11+00:00", "type": "design", "status": "accepted", "note": "Separated verbal_response_strategy from voice_style. Sarcastic deflection, sincerity evasion, emotional evasion, banter-as-boundary, and verbal aggression are pressure-activated speech defenses, not baseline voice texture."}

View file

@ -77,6 +77,7 @@ accepted_design:
- Canonical authored character variables do not carry certainty; perceived dimensions do not expose canonical mean or plasticity, and instead model observed activation, attributed disposition, and confidence.
- Fundamental attribution bias is first-class in perceived state: observers can mistake exceptional behavior for stable character, with stubborn reads emerging from confidence drivers such as memory, stakes, emotion, prejudice, and social reinforcement.
- Voice style is a broad required communication vector covering lyrical speech, formality, verbosity, hedging, coded politeness, theatricality, dialect, register switching, technical compression, ritualized address, and related language mechanics.
- Verbal response strategy is separate from voice style; pressure-activated moves like sarcastic deflection, sincerity evasion, emotional evasion, banter-as-boundary, and verbal aggression model speech defenses rather than baseline voice texture.
current_status:
summary: Ghostlight now has the Epiphany-style persistence spine, the first architecture payload, and the initial canonical agent-state schema seam for Call of the Void-style authoring examples. The schema is still v0 and should be hardened before building prompt projection on top of it.

View file

@ -101,6 +101,7 @@ def validate_agent(agent: dict[str, Any], required: dict[str, list[str]]) -> Non
"behavioral_dimensions",
"presentation_strategy",
"voice_style",
"verbal_response_strategy",
"situational_state",
"values",
],
@ -112,6 +113,7 @@ def validate_agent(agent: dict[str, Any], required: dict[str, list[str]]) -> Non
"behavioral_dimensions",
"presentation_strategy",
"voice_style",
"verbal_response_strategy",
"situational_state",
]:
validate_variable_map(canonical[group], required[group], f"{path}.canonical_state.{group}")