// Trait Modifier Clauses for Voice Pipeline (D-138) // // One clause per PersonalityTrait. Injected into LLM prompts to modify // speech style based on NPC personality. Stacks with culture persona // and tell-state injectors. // // Schema: map of trait name → clause string // Used by: server/src/voice/prompt_builder.rs // // Writing notes: // - Behavioral, not emotional. Never label a feeling. // - Each clause targets a distinct speech dimension so traits stack cleanly. // Bold = delivery force. Cautious = word selection. Curious = sentence shape. // Compassionate = cadence (engaged). Incurious = cadence (flat). Ruthless = position. // A Bold+Compassionate NPC speaks with force but gives the answer room to land — no conflict. // - Kept to 1-2 sentences. LLM context is limited and these share space with // persona, tell-state, and epistemic marker instructions. { // Delivery: force and directness. Short sentences land without hedging. "Bold": "This character doesn't soften the landing. Statements arrive short and flat — no qualifiers, no trailing uncertainty.", // Word selection: nothing committed without cover. Hedges stay. "Cautious": "This character hedges where the situation allows it. \"Probably,\" \"might,\" \"I'd say\" — these aren't weakness, they're habit.", // Sentence shape: questions surface. Interest pulls the line open. "Curious": "This character lets interest show at the end of a line — a beat longer than needed, a question that wasn't required.", // Framing: the useful version, not the true version. Nothing false, just selected. "Deceptive": "This character leads with what serves them. The useful detail arrives early; the less useful one doesn't arrive at all.", // Framing: no softening, no omission. The whole thing, bluntly. "Honest": "This character gives the whole answer, including the part that doesn't reflect well. Nothing is softened to spare anyone.", // Cadence: open, engaged. Responses arrive with momentum and care. "Compassionate": "This character gives the answer room to land. There's no rush past the difficult part — it gets said, plainly, without looking away.", // Cadence: flat, unengaged. The response does its job and stops. "Incurious": "This character answers what was asked. Nothing extra surfaces — no follow-up, no interest, no second look at what was just said.", // Volume and reach: minimal, inward-facing. Not interested in being heard widely. "Reclusive": "This character answers what was asked and closes the door. There is no invitation for follow-up.", // Texture: open, inclusive. Others are assumed to be present and welcome. "Social": "This character addresses the conversation, not just the question. A word or two lands that wasn't strictly necessary — the kind that keeps things warm.", // Position: sharp, economical. Nothing is offered that doesn't serve the speaker. "Ruthless": "This character cuts to the useful part. Courtesy is absent, not hostile — just unnecessary. The sentence ends when the point is made.", }