Files
settled-reach/server/content/global/trait-modifiers.ron
T
jpmschweitzerandClaude Opus 4.6 b2ef56440f refactor(simulation): move content/ under server/ (#669)
Content files (RON templates, YAML campaigns, gauntlet data) are consumed
exclusively by the server. Colocate them at server/content/ and update all
path references in Rust source, tooling scripts, and schema files.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 10:31:20 +01:00

50 lines
3.1 KiB
Plaintext

// 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.",
}