Split verbal response strategy from voice style
This commit is contained in:
parent
1354d6f230
commit
010080be4b
9 changed files with 117 additions and 87 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 |
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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": [
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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."}
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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}")
|
||||
|
|
|
|||
Loading…
Reference in a new issue