Expand voice style required vector
This commit is contained in:
parent
d445960bed
commit
91741bdef6
7 changed files with 307 additions and 20 deletions
|
|
@ -110,13 +110,34 @@ machinery.
|
|||
These describe how the performed self comes out in language:
|
||||
|
||||
- dryness
|
||||
- warmth
|
||||
- formality
|
||||
- verbosity
|
||||
- pace
|
||||
- plainspoken directness
|
||||
- lexical precision
|
||||
- technical density
|
||||
- figurative language
|
||||
- narrative detail
|
||||
- emotional explicitness
|
||||
- sarcastic deflection
|
||||
- pointedness
|
||||
- sincerity evasion
|
||||
- emotional evasion
|
||||
- self disclosure
|
||||
- hedging
|
||||
- certainty marking
|
||||
- politeness
|
||||
- ritualized address
|
||||
- register switching
|
||||
- dialect marking
|
||||
- humor
|
||||
- banter as boundary
|
||||
- verbal aggression
|
||||
- plainspoken directness
|
||||
- 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
|
||||
|
|
|
|||
|
|
@ -65,8 +65,9 @@ emotion, stakes, prior assumptions, and social reinforcement.
|
|||
|
||||
## Label Set Policy
|
||||
|
||||
The labels in `agent-state.required-fields.json` are the required v0 core.
|
||||
They are not comprehensive.
|
||||
The labels in `agent-state.required-fields.json` are the required v0 core,
|
||||
not per-character tags. They cover the axes Ghostlight currently treats as
|
||||
first-class.
|
||||
|
||||
The validator requires each canonical agent fixture to include the full core
|
||||
set so agents can be compared on the same axes. That means Cat's example does
|
||||
|
|
@ -145,26 +146,41 @@ the agent is trying to maintain.
|
|||
|
||||
## Voice Style
|
||||
|
||||
Voice style describes how the performed self comes out in language. The current
|
||||
v0 voice set is not comprehensive. It is a starter set added because Cat's
|
||||
prickly sarcasm was too important to leave hidden inside presentation strategy
|
||||
and behavioral dimensions.
|
||||
Voice style describes how the performed self comes out in language. The v0
|
||||
required vector covers broad communication mechanics, not only the most obvious
|
||||
quirks in the current examples.
|
||||
|
||||
| Label | Meaning |
|
||||
| --- | --- |
|
||||
| `dryness` | Understated, deadpan, low-sentiment phrasing. |
|
||||
| `warmth` | Inviting, affectionate, reassuring, or socially soft phrasing. |
|
||||
| `formality` | Uses formal structure, titles, careful address, or institutionally correct phrasing. |
|
||||
| `verbosity` | Tends toward longer turns, elaboration, qualification, or verbal sprawl. |
|
||||
| `pace` | Moves quickly through turns, interruptions, replies, or topic shifts. |
|
||||
| `plainspoken_directness` | Speaks plainly, concretely, or bluntly rather than ornamenting or obscuring. |
|
||||
| `lexical_precision` | Chooses exact words, distinctions, definitions, or careful terms. |
|
||||
| `technical_density` | Packs speech with specialist terms, systems language, procedure, or analysis. |
|
||||
| `figurative_language` | Uses metaphor, image, analogy, poetic compression, or symbolic framing. |
|
||||
| `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. |
|
||||
| `politeness` | Uses courtesy, mitigation, face-saving language, or social smoothing. |
|
||||
| `ritualized_address` | Uses formulaic greetings, titles, honorifics, oaths, prayers, or ceremonial phrases. |
|
||||
| `register_switching` | Shifts between speech registers depending on audience, status, danger, or role. |
|
||||
| `dialect_marking` | Shows regional, class, occupational, subcultural, or community-specific speech markers. |
|
||||
| `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. |
|
||||
| `plainspoken_directness` | Speaks plainly, concretely, or bluntly rather than ornamenting or obscuring. |
|
||||
|
||||
Future voice labels probably need to cover things like lyrical speech,
|
||||
formality, verbosity, hedging, coded politeness, theatricality, dialect,
|
||||
register switching, technical compression, and ritualized address. Not yet.
|
||||
We do not need the whole wardrobe before we know where the floor is.
|
||||
| `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. |
|
||||
|
||||
## Situational State
|
||||
|
||||
|
|
|
|||
|
|
@ -107,20 +107,37 @@ Human beings are regrettably efficient little porcupines.
|
|||
|
||||
`voice_style` describes how that performed self comes out in language.
|
||||
|
||||
For Cat, the important voice handles are explicit now:
|
||||
The required voice handles are:
|
||||
|
||||
- `dryness`
|
||||
- `warmth`
|
||||
- `formality`
|
||||
- `verbosity`
|
||||
- `pace`
|
||||
- `plainspoken_directness`
|
||||
- `lexical_precision`
|
||||
- `technical_density`
|
||||
- `figurative_language`
|
||||
- `narrative_detail`
|
||||
- `emotional_explicitness`
|
||||
- `sarcastic_deflection`
|
||||
- `pointedness`
|
||||
- `sincerity_evasion`
|
||||
- `emotional_evasion`
|
||||
- `self_disclosure`
|
||||
- `hedging`
|
||||
- `certainty_marking`
|
||||
- `politeness`
|
||||
- `ritualized_address`
|
||||
- `register_switching`
|
||||
- `dialect_marking`
|
||||
- `humor`
|
||||
- `banter_as_boundary`
|
||||
- `verbal_aggression`
|
||||
- `plainspoken_directness`
|
||||
|
||||
This list is not comprehensive. It is a v0 starter set. Future labels will
|
||||
likely need to cover formality, verbosity, lyricism, hedging, ritual politeness,
|
||||
dialect, register switching, technical compression, and other language habits.
|
||||
- `conversational_dominance`
|
||||
- `listening_responsiveness`
|
||||
- `question_asking`
|
||||
- `profanity`
|
||||
|
||||
So Cat's prickliness is not only a dialogue prompt instruction. It is backed by
|
||||
canonical state:
|
||||
|
|
|
|||
|
|
@ -309,6 +309,26 @@
|
|||
"plasticity": 0.18,
|
||||
"current_activation": 0.91
|
||||
},
|
||||
"warmth": {
|
||||
"mean": 0.31,
|
||||
"plasticity": 0.45,
|
||||
"current_activation": 0.26
|
||||
},
|
||||
"formality": {
|
||||
"mean": 0.22,
|
||||
"plasticity": 0.52,
|
||||
"current_activation": 0.18
|
||||
},
|
||||
"verbosity": {
|
||||
"mean": 0.48,
|
||||
"plasticity": 0.44,
|
||||
"current_activation": 0.42
|
||||
},
|
||||
"pace": {
|
||||
"mean": 0.72,
|
||||
"plasticity": 0.31,
|
||||
"current_activation": 0.78
|
||||
},
|
||||
"sarcastic_deflection": {
|
||||
"mean": 0.84,
|
||||
"plasticity": 0.2,
|
||||
|
|
@ -343,6 +363,91 @@
|
|||
"mean": 0.62,
|
||||
"plasticity": 0.33,
|
||||
"current_activation": 0.67
|
||||
},
|
||||
"lexical_precision": {
|
||||
"mean": 0.66,
|
||||
"plasticity": 0.35,
|
||||
"current_activation": 0.7
|
||||
},
|
||||
"technical_density": {
|
||||
"mean": 0.29,
|
||||
"plasticity": 0.5,
|
||||
"current_activation": 0.34
|
||||
},
|
||||
"figurative_language": {
|
||||
"mean": 0.38,
|
||||
"plasticity": 0.47,
|
||||
"current_activation": 0.41
|
||||
},
|
||||
"narrative_detail": {
|
||||
"mean": 0.24,
|
||||
"plasticity": 0.46,
|
||||
"current_activation": 0.2
|
||||
},
|
||||
"emotional_explicitness": {
|
||||
"mean": 0.18,
|
||||
"plasticity": 0.38,
|
||||
"current_activation": 0.13
|
||||
},
|
||||
"self_disclosure": {
|
||||
"mean": 0.16,
|
||||
"plasticity": 0.36,
|
||||
"current_activation": 0.12
|
||||
},
|
||||
"hedging": {
|
||||
"mean": 0.22,
|
||||
"plasticity": 0.43,
|
||||
"current_activation": 0.17
|
||||
},
|
||||
"certainty_marking": {
|
||||
"mean": 0.71,
|
||||
"plasticity": 0.3,
|
||||
"current_activation": 0.76
|
||||
},
|
||||
"politeness": {
|
||||
"mean": 0.25,
|
||||
"plasticity": 0.48,
|
||||
"current_activation": 0.21
|
||||
},
|
||||
"ritualized_address": {
|
||||
"mean": 0.08,
|
||||
"plasticity": 0.42,
|
||||
"current_activation": 0.05
|
||||
},
|
||||
"register_switching": {
|
||||
"mean": 0.55,
|
||||
"plasticity": 0.43,
|
||||
"current_activation": 0.61
|
||||
},
|
||||
"dialect_marking": {
|
||||
"mean": 0.18,
|
||||
"plasticity": 0.41,
|
||||
"current_activation": 0.2
|
||||
},
|
||||
"humor": {
|
||||
"mean": 0.69,
|
||||
"plasticity": 0.36,
|
||||
"current_activation": 0.75
|
||||
},
|
||||
"conversational_dominance": {
|
||||
"mean": 0.58,
|
||||
"plasticity": 0.4,
|
||||
"current_activation": 0.63
|
||||
},
|
||||
"listening_responsiveness": {
|
||||
"mean": 0.42,
|
||||
"plasticity": 0.45,
|
||||
"current_activation": 0.36
|
||||
},
|
||||
"question_asking": {
|
||||
"mean": 0.46,
|
||||
"plasticity": 0.42,
|
||||
"current_activation": 0.49
|
||||
},
|
||||
"profanity": {
|
||||
"mean": 0.52,
|
||||
"plasticity": 0.38,
|
||||
"current_activation": 0.57
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -673,6 +778,26 @@
|
|||
"plasticity": 0.49,
|
||||
"current_activation": 0.35
|
||||
},
|
||||
"warmth": {
|
||||
"mean": 0.48,
|
||||
"plasticity": 0.44,
|
||||
"current_activation": 0.52
|
||||
},
|
||||
"formality": {
|
||||
"mean": 0.58,
|
||||
"plasticity": 0.38,
|
||||
"current_activation": 0.62
|
||||
},
|
||||
"verbosity": {
|
||||
"mean": 0.34,
|
||||
"plasticity": 0.47,
|
||||
"current_activation": 0.3
|
||||
},
|
||||
"pace": {
|
||||
"mean": 0.34,
|
||||
"plasticity": 0.48,
|
||||
"current_activation": 0.31
|
||||
},
|
||||
"sarcastic_deflection": {
|
||||
"mean": 0.28,
|
||||
"plasticity": 0.52,
|
||||
|
|
@ -707,6 +832,91 @@
|
|||
"mean": 0.4,
|
||||
"plasticity": 0.49,
|
||||
"current_activation": 0.37
|
||||
},
|
||||
"lexical_precision": {
|
||||
"mean": 0.61,
|
||||
"plasticity": 0.37,
|
||||
"current_activation": 0.64
|
||||
},
|
||||
"technical_density": {
|
||||
"mean": 0.54,
|
||||
"plasticity": 0.4,
|
||||
"current_activation": 0.59
|
||||
},
|
||||
"figurative_language": {
|
||||
"mean": 0.22,
|
||||
"plasticity": 0.5,
|
||||
"current_activation": 0.18
|
||||
},
|
||||
"narrative_detail": {
|
||||
"mean": 0.28,
|
||||
"plasticity": 0.47,
|
||||
"current_activation": 0.24
|
||||
},
|
||||
"emotional_explicitness": {
|
||||
"mean": 0.21,
|
||||
"plasticity": 0.39,
|
||||
"current_activation": 0.17
|
||||
},
|
||||
"self_disclosure": {
|
||||
"mean": 0.14,
|
||||
"plasticity": 0.34,
|
||||
"current_activation": 0.09
|
||||
},
|
||||
"hedging": {
|
||||
"mean": 0.68,
|
||||
"plasticity": 0.36,
|
||||
"current_activation": 0.72
|
||||
},
|
||||
"certainty_marking": {
|
||||
"mean": 0.33,
|
||||
"plasticity": 0.43,
|
||||
"current_activation": 0.29
|
||||
},
|
||||
"politeness": {
|
||||
"mean": 0.66,
|
||||
"plasticity": 0.35,
|
||||
"current_activation": 0.7
|
||||
},
|
||||
"ritualized_address": {
|
||||
"mean": 0.31,
|
||||
"plasticity": 0.45,
|
||||
"current_activation": 0.28
|
||||
},
|
||||
"register_switching": {
|
||||
"mean": 0.74,
|
||||
"plasticity": 0.32,
|
||||
"current_activation": 0.78
|
||||
},
|
||||
"dialect_marking": {
|
||||
"mean": 0.12,
|
||||
"plasticity": 0.43,
|
||||
"current_activation": 0.08
|
||||
},
|
||||
"humor": {
|
||||
"mean": 0.21,
|
||||
"plasticity": 0.51,
|
||||
"current_activation": 0.16
|
||||
},
|
||||
"conversational_dominance": {
|
||||
"mean": 0.18,
|
||||
"plasticity": 0.48,
|
||||
"current_activation": 0.13
|
||||
},
|
||||
"listening_responsiveness": {
|
||||
"mean": 0.72,
|
||||
"plasticity": 0.34,
|
||||
"current_activation": 0.77
|
||||
},
|
||||
"question_asking": {
|
||||
"mean": 0.62,
|
||||
"plasticity": 0.38,
|
||||
"current_activation": 0.67
|
||||
},
|
||||
"profanity": {
|
||||
"mean": 0.05,
|
||||
"plasticity": 0.39,
|
||||
"current_activation": 0.03
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -77,13 +77,34 @@
|
|||
],
|
||||
"voice_style": [
|
||||
"dryness",
|
||||
"warmth",
|
||||
"formality",
|
||||
"verbosity",
|
||||
"pace",
|
||||
"plainspoken_directness",
|
||||
"lexical_precision",
|
||||
"technical_density",
|
||||
"figurative_language",
|
||||
"narrative_detail",
|
||||
"emotional_explicitness",
|
||||
"sarcastic_deflection",
|
||||
"pointedness",
|
||||
"sincerity_evasion",
|
||||
"emotional_evasion",
|
||||
"self_disclosure",
|
||||
"hedging",
|
||||
"certainty_marking",
|
||||
"politeness",
|
||||
"ritualized_address",
|
||||
"register_switching",
|
||||
"dialect_marking",
|
||||
"humor",
|
||||
"banter_as_boundary",
|
||||
"verbal_aggression",
|
||||
"plainspoken_directness"
|
||||
"conversational_dominance",
|
||||
"listening_responsiveness",
|
||||
"question_asking",
|
||||
"profanity"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,3 +10,4 @@
|
|||
{"ts": "2026-05-01T18:14:18+00:00", "type": "documentation", "status": "ok", "note": "Added agent-state variable glossary defining numeric components, current v0 labels, label-set policy, and why canonical fixtures include full required vectors rather than only strongly applicable labels."}
|
||||
{"ts": "2026-05-01T18:21:07+00:00", "type": "design", "status": "accepted", "note": "Removed certainty from canonical authored state variables. Canonical character state now stores mean, plasticity, and current_activation; perceived/inferred dimensions use confidence when a read can be wrong."}
|
||||
{"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."}
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ accepted_design:
|
|||
- The first schema contract lives in schemas/agent-state.schema.json with required first-class dimensions in schemas/agent-state.required-fields.json and a validator in tools/validate_agent_state.py.
|
||||
- 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 register, pace, precision, disclosure, politeness, humor, dominance, responsiveness, and related language mechanics rather than only character-specific quirks.
|
||||
|
||||
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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue